作者finaldeath (<( ̄口 ̄)_且)
看板Visual_Basic
标题[VB6 ] 请问LeftB函数
时间Tue Jun 17 18:03:34 2014
大家好。
我使用VB6内的LeftB撷取时却发生以下问题。
LeftB("AB国字", 4)
只会取得
AB,而非我原本预想的
AB国
A,B为英文字长度应为1
国为中文字长度应为2
但结果看起来是中英文字长度都变成2了
请问是我理解错误吗?
还是我有哪边设定错误了。
谢谢大家!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.120.36.106
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1402999417.A.90B.html
1F:→ KawasumiMai:你的AB两字是全形吗? 06/17 18:52
2F:推 chinoyan:LEFT 无视中英比为长度1,LEFTB或LENB,有B的半型英数为1 06/17 21:48
3F:→ chinoyan:中文为2 06/17 21:49
4F:→ MOONRAKER:就原po以上得到的结果而言,很明显并非如此。 06/17 21:59
*****先感谢大家回覆,我可以确定我打的是半形,就如文章内一样,我原本预想的
结果应如chinoyan所说的一样,但实际跑出来结果确如MOONRAKER所说的,并不
是英数字变为长度1,我在网路上有查到有人说VB 自32位元开始,英文改为长
度 2,不知道为什麽会这样修改就是了。
5F:→ MOONRAKER:大概是统统改为UTF-16,所有字元都用16 bits表示。 06/18 10:39
6F:→ MOONRAKER:这是早期的Unicode规范,但是现在大家都前进到UTF-8了 06/18 10:40
*****太感谢MOONRAKER陪我在那边测试
※ 编辑: finaldeath (59.120.36.106), 06/18/2014 10:59:55