字符串所占用的字节数
string str="CSDN,,.123论坛";
string str = "123abc";Byte[] data = System.Text.Encoding.Unicode.GetBytes(str);int length = data.Length;
[解决办法]
默认是unicode编码,一个汉字也是一个位置,假如用下面方式编码
string str = "CSDN,,.123论坛"; byte[] bs =Encoding.GetEncoding("gb2312").GetBytes(str);这个就是14个字节,一个汉字占2个字节
[解决办法]
字符串所占字节数和编码有关。
string str = "CSDN,,.123论坛";
byte[] data = Encoding.Default.GetBytes(str);
int dataLen = data.Length;//14
data = Encoding.Unicode.GetBytes(str);
dataLen = data.Length;//24
data = Encoding.UTF8.GetBytes(str);
dataLen = data.Length;//16
[解决办法]
P/invoke下有个IsTextUnicode 函数,准确率一般般,但是你的文本越多测试结果越准确
然后再确定字节数可能准确点
[解决办法]
正解