当前位置: 代码迷 >> Web Service >> 字符串计算长度有关问题
  详细解决方案

字符串计算长度有关问题

热度:380   发布时间:2012-01-02 22:40:04.0
字符串计算长度问题。
就是汉字与英文都是一个字节的。。我想要的是字符串应该是两个才对。
比如:“昌吕吕吕adsf”应该是12才对,可是我计算长度的时候,它才8。所以这个要怎么转换?

------解决方案--------------------
转换为char[]
------解决方案--------------------
用HashCode码的形式计算也可以的!!
------解决方案--------------------
哪个古董货告诉你“应该是12”的?汉字根据字符集和编码的不同必然不同长度...

在.NET中,所有字符都是UTF-16编码,也就是说任何char都是两个字节,其中还有少数字符需要两个char也就是4个字节表示...你需要明白,在.NET中处理和存储是两码事...

Unicode时代早就不用字节来衡量字符长度了...
------解决方案--------------------
C# code
        string str = "昌吕吕吕adsf";
        byte[] bytes = System.Text.UnicodeEncoding.Default.GetBytes(str);
        Response.Write(bytes.Length);//12