黑马程序员技术交流社区
标题:
字符串长度?字节长度?
[打印本页]
作者:
重新开始
时间:
2013-10-18 21:11
标题:
字符串长度?字节长度?
本帖最后由 重新开始 于 2013-10-19 09:19 编辑
string str = "abcdef串";str的长度为7,但字节为8,怎样算出字节8?求详解!
作者:
╰┄轩、辕_ヤ
时间:
2013-10-18 21:18
在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。
符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。
string str = "abcdef串";
解析:abcdef是6个英文字母,所以是6个字节
串:是一个汉字算2个字节,所以一共八个字节
作者:
Liu阳
时间:
2013-10-18 21:25
本帖最后由 Liu阳 于 2013-10-18 21:27 编辑
string str = "abcdef串";
Console.WriteLine(str.Length); //这个是7
Console.WriteLine(System.Text.Encoding.UTF8.GetByteCount(str)); //这个我得9 因为我使用了UTF-8编码集 你可以试试别的
Console.ReadKey();
作者:
小人渣子
时间:
2013-10-18 23:06
每个汉字占两个字节~
作者:
蜗牛强
时间:
2013-10-19 00:01
字符和字节是不同的,字符是指一个单个字符,‘串’就是一个字符,但是字节是存储单元,不同的编码形式字节会不同,楼主的情况‘串’占两个字节。所以长度是7,字节是8。
作者:
自由の风
时间:
2013-10-19 08:32
普通字母标点占一个字节,汉字两个字节,abcdef+串,6+2个字节,字符是7个
作者:
荣右铭
时间:
2013-10-19 08:48
C#中无论英文或者中午或者标点,每个都算两个字节长度,所以字数是7,字节数是8.
就类此于C中的wchar。
作者:
nooooy
时间:
2013-10-19 08:55
string sen1 = "abcdef";
Console.WriteLine(System.Text.Encoding.Default.GetByteCount(sen1));//6字节
string sen2 = "串";
Console.WriteLine(System.Text.Encoding.Default.GetByteCount(sen2));//2字节
string sen3 = "abcdef串";
Console.WriteLine(System.Text.Encoding.Default.GetByteCount(sen3));//8字节
Console.ReadKey();
复制代码
作者:
guo329838627
时间:
2013-10-19 11:45
"串"是按两个字节算的!
作者:
大虾挂了
时间:
2013-10-19 13:56
Liu阳 发表于 2013-10-18 21:25
string str = "abcdef串";
Console.WriteLine(str.Length); //这个是7
Console. ...
嗯,是啊,作老师的课堂练习,发现用这个编码,传一个汉字,会变成3byte
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2