羅文翻譯

newStr = Encoding.Default.GetString(Encoding.Default.GetBytes(str)翻譯社 0, selLen)

此時利用
len = Encoding.Default.GetByteCount(str)
可獲得實際字串的Byte長度(中文字及全形字為2 bytes)

.Net較量爭論中英文字串長度

.Net於程式中常需要利用到計較字串長度
一般利用length計算之
如:
dim str as String
dim len as Integer
str="test"
len = str.length

此時len=4,
會以字數較量爭論而非計算byte

此時len=4

而當碰到中文時,環境如下:

此時len=9,
豈論中英文都以一個字較量爭論

而如須擷取固定長度之字串可以使用
Encoding.Default.GetBytes(str)獲得字串Bytes
Encoding.Default.GetString(strbytes, index, count) 獲得從index開始之count長度byte的字串

傍邊英文混合時亦如斯
str = "I Love 炎天"
len = str.length



將字串轉為Bytes後在擷取,以下
Dim newStr as String 
Dim selLen as Integer = 10

而因為資料貯存的關係,我們經常需要取的字串的真正長度,而非字數
在全英文及全中文字串中,string.length還算足以使用,但須肯定英文中無全形半形參雜
傍邊英文混同或全半形皆有之字串,string.length就不足以應付

len = str.length

則newStr 顯示 "I Love 夏?",最後一Byte被截斷
如斯便可取的固定長度之字串


以下內文出自: http://blog.roodo.com/yarwang/archives/19436276.html有關各國語文翻譯公證的問題歡迎諮詢天成翻譯公司02-77260931

arrow
arrow
    文章標籤
    翻譯社
    全站熱搜

    pagelg7e77rh4 發表在 痞客邦 留言(0) 人氣()