[VB6 ] 請問LeftB函數

看板Visual_Basic作者 (<( ̄口 ̄)_且)時間11年前 (2014/06/17 18:03), 11年前編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/2 (看更多)
大家好。 我使用VB6內的LeftB擷取時卻發生以下問題。 LeftB("AB國字", 4) 只會取得 AB,而非我原本預想的 AB國 A,B為英文字長度應為1 為中文字長度應為2 但結果看起來是中英文字長度都變成2了 請問是我理解錯誤嗎? 還是我有哪邊設定錯誤了。 謝謝大家! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.36.106 ※ 文章網址: http://www.ptt.cc/bbs/Visual_Basic/M.1402999417.A.90B.html

06/17 18:52, , 1F
你的AB兩字是全形嗎?
06/17 18:52, 1F

06/17 21:48, , 2F
LEFT 無視中英比為長度1,LEFTB或LENB,有B的半型英數為1
06/17 21:48, 2F

06/17 21:49, , 3F
中文為2
06/17 21:49, 3F

06/17 21:59, , 4F
就原po以上得到的結果而言,很明顯並非如此。
06/17 21:59, 4F
*****先感謝大家回覆,我可以確定我打的是半形,就如文章內一樣,我原本預想的 結果應如chinoyan所說的一樣,但實際跑出來結果確如MOONRAKER所說的,並不 是英數字變為長度1,我在網路上有查到有人說VB 自32位元開始,英文改為長 度 2,不知道為什麼會這樣修改就是了。

06/18 10:39, , 5F
大概是統統改為UTF-16,所有字元都用16 bits表示。
06/18 10:39, 5F

06/18 10:40, , 6F
這是早期的Unicode規範,但是現在大家都前進到UTF-8了
06/18 10:40, 6F
*****太感謝MOONRAKER陪我在那邊測試 ※ 編輯: finaldeath (59.120.36.106), 06/18/2014 10:59:55
文章代碼(AID): #1Je19vaB (Visual_Basic)
討論串 (同標題文章)
文章代碼(AID): #1Je19vaB (Visual_Basic)