作者MOONRAKER (㊣祕密情報員)
看板Visual_Basic
標題Re: [VB6 ] 請問LeftB函數
時間Tue Jun 17 19:02:45 2014
※ 引述《finaldeath (<( ̄口 ̄)_且)》之銘言:
: A,B為英文字長度應為1
: 國為中文字長度應為2
: 但結果看起來是中英文字長度都變成2了
:
: 請問是我理解錯誤嗎?
: 還是我有哪邊設定錯誤了。
:
: 謝謝大家!
:
: → KawasumiMai:你的AB兩字是全形嗎? 06/17 18:52
跟全形沒關係。原po可以試跑以下測試程式看看結果。
Sub leftbtest_host()
ss = leftbtest("Bolshevik")
ss = ss & leftbtest("AB漢字")
MsgBox ss
End Sub
Function leftbtest(s) As String
ss = ""
k = 2
For i = 0 To LenB(s) Step k
c = LeftB(s, i)
ss = ss & "[" & i & "]: " & c & vbCrLf
Next i
leftbtest = ss
End Function
如果這樣可以輸出看起來正常的結果(人看得懂),可以把k改為1或3看看。
--
從前有個馬鈴薯王國 有個高貴偉大的國王
有的人尊敬他 有的人畏懼他 但有個人敢看不起他不只是一條龍
嘿呵 快出動 去征服 去擺平 嘿呵 快出征 去征服那條龍
嘿呵 快出動
(宰了它!轟了它!)嘿呵 快出征 去征服那條龍
:■ Potatoes and Dragons (C)Alphanim France 2004-05 :.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.43.189
※ 文章網址: http://www.ptt.cc/bbs/Visual_Basic/M.1403002970.A.386.html
推 finaldeath:結果跑起來英文字真的被當成長度2 06/18 10:13
→ finaldeath:用奇數跑,英文字會被截成亂碼... 06/18 10:13
→ EShensh:可能 Windows 系統核心不同吧,早期的 Win 不是 Unicode 06/19 15:06
→ EShensh:所以不建議這樣的寫法,應該要確認要處理編碼比較好。 06/19 15:07
→ EShensh:不然在不同環境可能出來的結果不一樣。 06/19 15:07
→ MOONRAKER:UTF-16就是unicode, 原汁原味,哪有什麼不是unicode的 06/20 00:19
→ MOONRAKER:問題。這一個problem果然釣出各式各樣的「好手」,科 06/20 00:21