2014-02-21 78 views
1

我有一句话: 例如:如何检查文本是1字节还是2字节?

String value="123抽出"; 

123是文本1 byte;

​​是文本2 byte;

如何检查文字是1 byte2 byte

+0

所有的字符串都是Unicode = 2字节。 –

+0

您希望编辑的问题是什么?你仍然怀疑.net使用UTF-16编码字符串吗? –

回答

3

字符串是unicode,因此是2个字节。您可以尝试这样的事:

Dim u As System.Text.UnicodeEncoding = System.Text.Encoding.Unicode 
Dim a As System.Text.ASCIIEncoding = System.Text.Encoding.ASCII 

MsgBox(u.GetByteCount("123")) 
MsgBox(s.GetByteCount("123")) 

还要检查How to check the Single Bytes and Double Bytes character ?

2

确切的答案(C#代码):

char c = value[0]; 
bool haveHighByteNonEmpty = (c > 256); 

需要注意的是,如果你想 “ASCII” 比范围实际上是不同的 - 0 -127,如果你想在UTF8等其他编码中使用长度,你应该使用Encodings类/实例的相应方法。

相关问题