如何在Delphi中获取字符串字节数?


本文整理自网络,侵删。

 
如果使用TEncoding类的GetByteCount方法,则可以轻松获取字符串中的字节数。

字符串的字节数取决于字符串的编码(字符代码)。

首先,获得一个TEncoding对象,该对象支持您要获取的编码。

将代码页的名称或字符集传递给TEncoding.GetEncoding方法的参数。

Encoding := TEncoding.GetEncoding(932);
// Encoding := TEncoding.GetEncoding('Shift_JIS');
接下来,使用您想要获取字节数的字符串作为参数调用GetByteCount。

Len := Encoding.GetByteCount('你好,你好');
下面的示例程序显示字符串编码和字节数。

var
  Encoding: TEncoding;
  Len: Integer;
begin
  //Shift_JIS
  Encoding := TEncoding.GetEncoding(932);
  Len := Encoding.GetByteCount('你好,你好');
  Encoding.Free;
  Writeln(Format('%s = %d', ['Shift_JIS', Len])); //出力:Shift_JIS = 10

  //EUC-JP
  Encoding := TEncoding.GetEncoding(20932);
  Len := Encoding.GetByteCount('你好,你好');
  Encoding.Free;
  Writeln(Format('%s = %d', ['EUC-JP', Len])); //出力:EUC-JP = 10

  //JIS(ISO-2022JP)
  Encoding := TEncoding.GetEncoding(50220);
  Len := Encoding.GetByteCount('你好,你好');
  Encoding.Free;
  Writeln(Format('%s = %d', ['JIS', Len])); //出力:JIS = 16

相关阅读 >>

Delphi请求http接口中文乱码问题

Delphi根据窗口句柄获取所在程序路径

Delphi 简单的 "双缓冲" 绘图的例子

Delphi2010的操作界面切换到Delphi7的操作模式

tclientsocket和tserversocket用法

Delphi 关闭android安卓程序

Delphi 利用tidencodermime tiddecodermime 组件字符串加密解密

Delphi编程防止界面卡死的方法

Delphi radiogroup 组件基本用法

Delphi 检测url地址是否有效

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...