在.NET中,使用string、substring、length所取的字數皆為字元數(char),相當於2bytes,所以中、英字母的大小沒有區別。
但匯入文字檔(txt)所取ㄉ字數為位元數(byte),中文=2bytes、英文=1byte,須另行處理,使用substring、length會出現錯誤。
使用上有點不同~~分別列舉如下
ex:
<Ⅰ>字元數(char)寫法
string aa = "an中文txt";int iCount = aa.Length();string sChinese = aa.substring(aa, 2, 2);iCount = 7sChinese = "中文"
<Ⅱ>位元數(byte)寫法
string aa = "an中文txt";int iCount = System.Text.Encoding.Default.GetByteCount(aa);
byte[] bString = System.Text.Encoding.Default.GetBytes(aa);
string sChinese = System.Text.Encoding.Default.GetString(bString, 2, 2);
iCount = 9
sChinese = "中"
沒有留言:
張貼留言