如何在delphi中获取字符串字节数?  
官方Delphi 学习QQ群: 682628230(三千人)
频道

如何在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

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.048102855682373 seconds