如何在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 android下拉刷新

Delphi 解决idtcpclient和idtcpserver通信中文乱码问题

Delphi 获取网页代码单元

获取网络日期

Delphi取得当前目录的上一级目录

Delphi侦测按键输入

Delphi 如何在tmemo,tedit或trichedit中获得插入符的位置

Delphixe4 版本中,已针对移动平台 引入了 arc 模型

Delphi dbgrid支持鼠标滚轮浏览数据

Delphi 隐藏进程代码

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



打赏

取消

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

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

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

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

评论

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