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个字节.
英文1个字节.中文2个字节.
#2
做个试验不就行了吗。
你的关键代码都写出来了。
你的关键代码都写出来了。
#3
这些都是基础的东西,可以说是我们这行的常识吧!
#4
正解
#5
直接用MessageBox打出来不就完了? 还要自己一个个数?
MessageBox.Show(Encoding.GetEncoding("gb2312").GetBytes(str).Length.ToString());
MessageBox.Show(Encoding.GetEncoding("gb2312").GetBytes(str).Length.ToString());
#6
System.Text.Encoding.Default.GetBytes(str).Length
#7
顶
#8
byte[] b = System.Text.Encoding.GetEncoding("GB2312").GetBytes(字符串)//byte[]类型
b.length就是你要的长度咯
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;
MessageBox.Show(Encoding.GetEncoding("gb2312").GetBytes(str).Length.ToString()); //输出结果为: 25;
如果 Unicode 的话,MessageBox.Show(Encoding .Unicode.GetBytes (str).Length .ToString ()); //对应结果为40;
#1
25个字节
英文1个字节.中文2个字节.
英文1个字节.中文2个字节.
#2
做个试验不就行了吗。
你的关键代码都写出来了。
你的关键代码都写出来了。
#3
这些都是基础的东西,可以说是我们这行的常识吧!
#4
正解
#5
直接用MessageBox打出来不就完了? 还要自己一个个数?
MessageBox.Show(Encoding.GetEncoding("gb2312").GetBytes(str).Length.ToString());
MessageBox.Show(Encoding.GetEncoding("gb2312").GetBytes(str).Length.ToString());
#6
System.Text.Encoding.Default.GetBytes(str).Length
#7
顶
#8
byte[] b = System.Text.Encoding.GetEncoding("GB2312").GetBytes(字符串)//byte[]类型
b.length就是你要的长度咯
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;
MessageBox.Show(Encoding.GetEncoding("gb2312").GetBytes(str).Length.ToString()); //输出结果为: 25;
如果 Unicode 的话,MessageBox.Show(Encoding .Unicode.GetBytes (str).Length .ToString ()); //对应结果为40;