问个更弱的问题:有什么办法证明这样查到的内码是正确的?
chr(asc("中"))
chr(val("&h" & hex(asc("中")))

解决方案 »

  1.   

    of123()的方法有点问题,汉字内码有两字节组成,COM中的通讯应该如下得到内码:
    CLng(AscB(RightB(txtHZ, 1))) * 256 + CLng(AscB(LeftB(txtHZ, 1)))证明内码是正确(COM中发送):
    ChrB$(20013 Mod 256) & ChrB$(20013 \ 256)也可以这样证明:
    在.txt文件中输入:你知道了吗
    保存,然后修改扩展名为htm,打开,看到什么了?
    ZWBLY
      

  2.   

    例如: 得到内码:
    CLng(AscB(RightB("中", 1))) * 256 + CLng(AscB(LeftB("中", 1)))
    ZWBLY
      

  3.   

    zwbly(朱朱) :
    发送和用缺省的comInputModeText模式接收用不着考虑字节问题。
    何况系统默认的是Unicode。任何字符都是两字节。
    我怀疑你真的做过。
      

  4.   

    of123():
    Asc 返回字符串第一个字符的 ANSI 或 DBCS 字符代码。 
    AscB 返回给定包含二进制数据的字符串第一个字节的值。 
    AscW 返回字符串第一个字符的 Unicode 字符代码。得到Unicode 字符代码(内码):
    AscW("中")=20013  (最简单)
    CLng(AscB(RightB("中", 1))) * 256 + CLng(AscB(LeftB("中", 1)))=20013而of123()的hex(asc("中"))=54992COM口通讯应该包括二进制数据,你斟酌吧。
      

  5.   

    htimekeeper (小龙) 结帖吧!
      

  6.   

    http://www.easthot.net/topic.asp?TOPIC_ID=188&FORUM_ID=2&CAT_ID=2&Topic_Title=%C8%E7%BA%CE%C8%A1%B5%C3%BA%BA%D7%D6%B5%C4%C7%F8%CE%BB%C2%EB%3F&Forum_Title=VB%2CVB%2Enet+%BF%AA%B7%A2%C2%DB%CC%B3
    http://www.easthot.net/topic.asp?TOPIC_ID=191&FORUM_ID=2&CAT_ID=2&Topic_Title=%C8%E7%BA%CE%D3%C9%C1%BD%B8%F6ASC%C2%EB%A3%A8%C7%F8%CE%BB%C2%EB%A3%A9%B8%B4%D4%AD%B3%C9%D2%BB%B8%F6%BA%BA%D7%D6%A3%BF&Forum_Title=VB%2CVB%2Enet+%BF%AA%B7%A2%C2%DB%CC%B3
      

  7.   

    朱朱:
    hex(asc("中"))=54992!!!!!!!!
    hex返回的是字符串,何来数字?
      

  8.   

    zyl910(910:分儿,我来了!) :
    我们说的内码和区位码是一个概念吗?
    汇编中发送到打印机的就是内码吧(不用减去&HA0)
    看看这里有这么回事:
    http://expert.csdn.net/Expert/topic/1131/1131866.xml?temp=.3939936
      

  9.   

    of123() : “=”即相当于。
    我不确定内码是什么东西,这跟怎样使用汉字有关。
    区位码输入法中,你输入"4650"和"CED2"都是“我”字?
    到造字程序里看看汉字对应的代码?
    我在Win2000SP4 VB6SP5里,复制一些汉字到UltraEdit-32显示正常,到Word就是乱码?请zyl910(910:分儿,我来了!)总结一下怎么回事?