close

西文口譯

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


"65306", {});

str = "天成翻譯公司愛炎天"
len = str.length

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

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

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

而當碰到中文時,情形如下:

.Net計算中英文字串長度

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

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

當中英文夾雜時亦如此
str = "I Love 炎天"
len = str.length

此時len=9,
不論中英文都以一個字計較


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

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



引用自: http://blog.roodo.com/yarwang/archives/19436276.html有關各國語文翻譯公證的問題歡迎諮詢天成翻譯公司02-77260931
arrow
arrow
    文章標籤
    翻譯社
    全站熱搜
    創作者介紹
    創作者 marien4f30x 的頭像
    marien4f30x

    marien4f30x@outlook.com

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