发布网友
共4个回答
热心网友
楼主要多注意基础知识啊。要多看文档,多看书。
VB中字符串比较方式由Option Compare指定。默认是Binary,即二进制比较。
这样的话VB就是按照字符从左到右一个一个进行比对。每个字符的大小是由其编码决定的。比如"A"的ASCII码是65,"a"的ASCII码是97,因此"A"<"a"。
汉字也一样。"你"在Unicode编码中是4F60,"好"在Unicode编码中是597D,因此"你"<"好"。
————————————————
补充:楼上 独毛鹤说的是不正确的。
VB处理汉字不是按照“首先比较第一个字节的大小,再比较第二个”的,VB处理宽字符集的时候是按照16位即2个字节为一组处理的。举例"大"的Unicode码是5927,"人"的Unicode码是4EBA,如果先按照第一个字节进行比较的话那"大"<"人",但实际上VB的判断结果是"大">"人"。
关于字符编码,随便用任何一个16进制编辑软件(如UltraEdit)打开一个txt文件就可以看到。或者用:
Dim b() as Byte
b="你好"
然后查看b这个数组即可知道其Unicode编码
热心网友
字符串1的第n位的ASCII码值 等于 字符串2的第n位的ASCII码值
则 继续比较下一位 直到出现 2者不等。返回真或假
中文字符比较 你可以观察该字的拼音~和其个数 不过我想应该是按照字符库里的顺序来比较的
热心网友
vb比较是按字节比较的,汉字为两个字节,首先比较第一个字节的大小,再比较第二个。汉字编码可以从【附件】-【TrueType造字程序】-【参照】里 或word中【插入】-【符号】的编码表中略知一二。
热心网友
你试试比较下就知道了……
汉语也是有编码的,比较方法相同。