用delphi2010调试一个以前的程序,因为以前的程序是delphi7下编写的,大家都知道delphi7下的用的是indy9,后面的主流版本都是用indy10啦。 所以以前用的
Temp1 := UTF8Decode(Temp);
Temp1 := Utf8ToAnsi(Temp);
Temp1 := UTF8Decode(Temp);
Temp1 := UTF8Encode(Temp);
这类函数在2010下是不推荐使用的,而且不能把uft8转成decode. 得到的中文字符全是??。
看来indy10的uft8处理有点麻烦。在这边我是用数据流的办法解决的:
var
idhtp: TIdHTTP;
Temp,temp1:AnsiString;
ss: TStringStream;
begin
try
idhtp := TIdHTTP.Create(nil);
try
ss := TStringStream.Create('', TEncoding.GetEncoding(65001)); { 指定gb2312的中文代码页,或者54936(gb18030)更好些 utf8 对应 65001}
idhtp.Get(URl,ss);
Temp1 := ss.DataString;
这个temp1就是utf8解码后的内容了
分享到:
相关推荐
本文将深入探讨UTF8和ANSI String之间的转换处理,特别关注在DELPHI7环境下如何进行这种转换,并通过动态链接库(DLL)实现跨语言(如C++)的兼容性。 标题中的"UTF8与ansi string转换处理(DELPHI7开发)"指的是在...
delphi7调用delphi2009生成的dll文件会出现乱码问题。是unicode的原因 终于找到了UTF-8、Unicode格式转换函数
"xe10_utf_8转换"这个主题显然与在Delphi中处理UTF-8编码有关。UTF-8是一种非常普遍的字符编码标准,能够支持Unicode字符集,包括世界上几乎所有的文字系统。在Delphi程序中,处理UTF-8编码通常是进行数据输入、输出...
总的来说,这个压缩包提供了一个完整的解决方案,帮助开发者在Delphi 7环境下使用Indy10.6进行网络通信时,解决可能出现的中文乱码问题,并且通过OpenSSL增强了安全性。通过阅读并应用这些资源,开发者能够更顺畅地...
在本项目中,"Delphi XE + IdHTTPServer + utf8转换 + json解析"是一个使用Delphi XE开发的服务器端应用,它结合了几个关键的技术点。 IdHTTPServer是 Indy(Internet Direct)库的一部分,这是一个用于网络通信的...
如果需要转换为`AnsiString`(基于当前系统代码页)或者`UTF8String`,可以使用`UTF8Encode`或` AnsiToString`函数。 6. **代码示例**: 以下是一个简单的代码片段,展示了如何处理接收到的UTF16数据: ```delphi...
总结,通过设置FTP会话的字符集、进行编码转换以及利用`TIdFTP`的事件机制,我们可以成功解决Delphi XE8 FTP客户端程序的中文乱码问题并添加进度条功能。这样,用户不仅能正确识别中文文件名,还能清楚地看到文件...
这个示例项目——"IdHTTPServer+utf8转换+json解析"——聚焦于如何在Delphi环境下利用HTTP服务器组件处理UTF-8编码的数据,并通过内置的JSON解析库进行解析。下面我们将深入探讨相关知识点。 首先,IdHTTPServer是...
Xe10(也称为 RAD Studio 10 Seattle)是 Embarcadero 公司发布的 Delphi 版本之一,它支持多种操作系统下的软件开发,包括 Windows、macOS、iOS 和 Android。 #### Indy 库简介 Indy(Internet Direct)库是 ...
压缩包中的"内容介绍.txt"可能包含了作者解决问题的具体步骤和注意事项,而"Client"和"Server"可能是示例代码或配置文件,它们可以帮助理解如何在实际项目中应用这些解决方案。 通过阅读这些文件,你可以学习到如何...
综上所述,这个Delphi测试项目展示了如何利用Delphi 2007与Web服务进行交互,处理JSON数据,并解决中文乱码问题。通过学习这些技术,开发者可以创建出更加复杂且实用的桌面应用程序,满足各种业务需求。
在Delphi中,可以使用TrijntaCrypto库或者 Indy Components 来实现AES加密。以下是一个简单的AES加密和解密的Delphi代码示例: ```pascal uses Cryptography.AES; var AES: TAES; InputData, EncryptedData, ...
在本示例中,我们探讨了如何在 Delphi XE8 中使用 IDHTTP1.get() 方法从一个基于 Servlet 3.1 的服务器获取 JSON 数据。这个过程涉及到 Delphi 客户端与 Java 服务端之间的通信,其中 JSON 用于数据交换格式。以下是...
- `Encoding`属性指定XML文档的字符编码,如UTF-8。 7. **错误处理** - 处理XML时可能遇到语法错误或资源问题,需捕获异常,如`EXMLException`。 8. **XML与JSON互转** - 当今API交互中,JSON格式更常用,...
2. 将`AnsiString`转换为无符号字节数组,例如`TBytes`,可以使用`AnsiString`的`UTF8Bytes`属性或者自定义转换函数。 3. 调用MD5函数或组件,将字节数组作为输入计算哈希。 4. 检查哈希结果是否与预期一致,如果不...
CipherText := Aes.EncodeBytes(TEncoding.UTF8.GetBytes(Data)); Result := BytesToHex(CipherText); // 将字节转换为十六进制字符串 finally Aes.Free; end; end; function DecryptAES(const EncryptedData,...
然后,我们使用 TEncoding.UTF8.GetBytes 将 JSON 字符串转换为字节数组,作为 POST 数据。最后,调用 IdHTTP1.Post 方法执行请求,并将响应内容写入 Memo 控件。 请注意,实际应用中可能需要处理认证、错误处理、...
在Delphi中,可以使用 Indy(Internet Direct)库或者TIdTcpClient组件来实现这个功能。 3. **用户界面设计** `SendSMS.exe` 可能是编译后的可执行文件,而 `SendSMS.ini` 文件很可能是存储程序配置信息的ini文件...
- 首先,通过`Create()`方法创建一个TTextConverter实例,指定源编码(例如,'GB2312'或'Big5')和目标编码('UTF-8'或'UTF-16')。 - 然后,调用`ConvertTo()`或`ConvertFrom()`方法将字节流转换为字符串或反之。...
可以使用TIdHTTP对象的ReadString方法,将内存流转换为UTF-8编码的字符串。 5. **错误处理**:在实际编程中,应考虑网络连接问题、服务器错误等情况。通过捕获异常或检查TIdHTTP的ResponseCode属性,我们可以对可能...