有點懶散的潛水日誌,希望在這分享海洋的驚奇

C# 中對於字串全形 半形 的判斷

今天遇到一個問題事關於字串長度的判斷

如果我們使用 字串.Length 來抓取長度的話

他會把全形的中文字也算成1個字元

這樣如果遇到中英混和的情況就很難搞了

這時可以利用System.Text.Encoding.Default.GetBytes() 的方法來抓取編碼Byte數

一般英數為ASCII code = 1 Byte

中文字型為Unicode = 2 Bytes

這樣就能準確的算出字串長度

 

範例如下

string a = “我有3隻小毛驢";

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

 

長度 = 6*2 + 1 = 13

No Comments Yet

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *