Delphi XE10 IdTCPClient和IdTCPServer 通讯编码规则写法,Indy 10

Delphi XE10 IdTCPClient和IdTCPServer 通讯编码规则(Indy 10)(编码乱码)

use IdGlobal

IndyTextEncoding:

  • IndyTextEncoding_Default;
  • IndyTextEncoding_OSDefault;
  • IndyTextEncoding_8Bit;
  • IndyTextEncoding_ASCII;
  • IndyTextEncoding_UTF16BE;
  • IndyTextEncoding_UTF16LE;
  • IndyTextEncoding_UTF7;
  • IndyTextEncoding_UTF8;

// 以下是为了向后兼容过去的Indy 10版本

  • enDefault;
  • en7Bit;
  • en8Bit;
  • enUTF8;
  • Indy8BitEncoding
  • IndyASCIIEncoding
  • IndyUTF16BigEndianEncoding
  • IndyUTF16LittleEndianEncoding
  • IndyOSDefaultEncoding
  • IndyUTF7Encoding
  • IndyUTF8Encoding

Delphi XE10 示例:

IdTCPClient1.IOHandler.WriteLn(MemoC1.Text,IndyTextEncoding_UTF8);

或者

IdTCPClient1.IOHandler.WriteLn(MemoC1.Text,IndyTextEncoding(encUTF8));

IdTextEncodingType :

  • encIndyDefault,
  • encOSDefault,
  • enc8Bit,
  • encASCII,
  • encUTF16BE,
  • encUTF16LE,
  • encUTF7,
  • encUTF8

统一设置方式:

//客户端初始化时设置DefStringEncoding
IdTCPClient1.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8;  //IndyTextEncoding(encUTF8)

//服务器Connect时 
AContext.Connection.IOHandler.DefStringEncoding :=IndyTextEncoding_UTF8;  //IndyTextEncoding(encUTF8)

  

  

  

创建时间:2020.06.02  更新时间:2020.06.02