如何计算String的字节数?

时间:2022-01-09 10:45:48
假如有这样一个
String str = "abcdefg东afff南b西c北d中e";
在C#中是Unicode编码. 字节数为str.Length * 2
我想知道, 如果这个字串存入到文件中, 在文件中这个字串占多少字节, 应该如何计算?
在文件中是gb2312格式.
StreamWriter sw = new StreamWriter(strFileName, Encoding.GetEncoding("gb2312"));
sw.Write(str); 这时, 这个字串在文件中占多少字节, 应该如何计算, 谢谢!

12 个解决方案

#1


25个字节
英文1个字节.中文2个字节.

#2


做个试验不就行了吗。
你的关键代码都写出来了。

#3


引用 1 楼 fvflove 的回复:
25个字节 
英文1个字节.中文2个字节.



这些都是基础的东西,可以说是我们这行的常识吧!

#4


引用 1 楼 fvflove 的回复:
25个字节 
英文1个字节.中文2个字节.

正解

#5


直接用MessageBox打出来不就完了?   还要自己一个个数?
MessageBox.Show(Encoding.GetEncoding("gb2312").GetBytes(str).Length.ToString());

#6


引用 1 楼 fvflove 的回复:
25个字节 
英文1个字节.中文2个字节.

System.Text.Encoding.Default.GetBytes(str).Length

#7


#8


byte[] b = System.Text.Encoding.GetEncoding("GB2312").GetBytes(字符串)//byte[]类型
b.length就是你要的长度咯

#9


38个字节

#10


System.Text.Encoding.GetEncoding("gb2312").GetBytes(str).Length

#11


实践

#12


为gb2312 时
MessageBox.Show(Encoding.GetEncoding("gb2312").GetBytes(str).Length.ToString());  //输出结果为:  25; 

如果 Unicode 的话,MessageBox.Show(Encoding .Unicode.GetBytes (str).Length .ToString ()); //对应结果为40;

#1


25个字节
英文1个字节.中文2个字节.

#2


做个试验不就行了吗。
你的关键代码都写出来了。

#3


引用 1 楼 fvflove 的回复:
25个字节 
英文1个字节.中文2个字节.



这些都是基础的东西,可以说是我们这行的常识吧!

#4


引用 1 楼 fvflove 的回复:
25个字节 
英文1个字节.中文2个字节.

正解

#5


直接用MessageBox打出来不就完了?   还要自己一个个数?
MessageBox.Show(Encoding.GetEncoding("gb2312").GetBytes(str).Length.ToString());

#6


引用 1 楼 fvflove 的回复:
25个字节 
英文1个字节.中文2个字节.

System.Text.Encoding.Default.GetBytes(str).Length

#7


#8


byte[] b = System.Text.Encoding.GetEncoding("GB2312").GetBytes(字符串)//byte[]类型
b.length就是你要的长度咯

#9


38个字节

#10


System.Text.Encoding.GetEncoding("gb2312").GetBytes(str).Length

#11


实践

#12


为gb2312 时
MessageBox.Show(Encoding.GetEncoding("gb2312").GetBytes(str).Length.ToString());  //输出结果为:  25; 

如果 Unicode 的话,MessageBox.Show(Encoding .Unicode.GetBytes (str).Length .ToString ()); //对应结果为40;