VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 309|回复: 40

如何求出这些异体字的ASC码?

[复制链接]
发表于 2018-6-24 22:13:04 | 显示全部楼层 |阅读模式
本帖最后由 bruly 于 2018-6-24 22:18 编辑

请教老师:有如下汉字:𠔻𪚥
      请问如何它能在文本文档中显示,为什么在代码中显示不了?如何求出它们的ASC码呢?感谢您~!
其实这样的字不少,再举例如:
    䨻,𦧄,𦧅,𩙤,𩙣,䲜,𧆘,𪓊,𩇓,𪚎,𡔚, 𧮩, 𨐄, 𨰸, 𪚍,𧟟,𨰽,𩇒,𩎑,𣦳,𨈎,𪛖,䨺,𩙡,𩙢,𩧥,𩱷,𩱸,𪈿,𪉀,𪋻,𧲟,𧢰,𡔙,𡬜,𣌠,𤆁,𤴒,𥎥,𧆓,𪚌不知道为什么发出问题后,字都变样了,故重发图片如附件。

截图

截图

异体字.zip

5.86 KB, 下载次数: 9

word文档

发表于 前天 23:17 | 显示全部楼层
bruly 发表于 2018-7-17 16:59
非常感谢这么热心付出。刚才想点击支持,结果点到反对上面,无法取消了。
另外不知道如何结帖,我再找找 ...

反对了再点支持就好了吧 应该
回复 支持 1 反对 0

使用道具 举报

发表于 前天 09:13 | 显示全部楼层
rect1358.png

评分

参与人数 1威望 +10 收起 理由
bruly + 10 很给力

查看全部评分

回复 支持 0 反对 1

使用道具 举报

发表于 5 天前 | 显示全部楼层
FM20控件直接支持UNICODE

点评

FM20试过了只支持UTF16(UNICODE)不支持UTF32  发表于 4 天前

评分

参与人数 1人气 +1 收起 理由
bruly + 1 很给力

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 6 天前 | 显示全部楼层
text2567.jpg
世界未解之谜的VB6 UNICODE窗口
写了130行代码,终于实现了,但是
VB6内部的所有自带绘制将会出现乱码等问题
如果非要改造,就相当于自己实现一套VB版的MFC
这么做没意义,除非有谁去实现个新的VBVM原生支持UNICODE

评分

参与人数 1威望 +8 收起 理由
bruly + 8 很给力

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2018-7-3 18:35:48 | 显示全部楼层
本帖最后由 vbfans01 于 2018-7-3 18:36 编辑

估计你还是XP系统,换WIN8以上就没有问题
再就是使用FM20控件,直接支持unicode编码。
一般网络字符需要转码。

评分

参与人数 1人气 +1 收起 理由
bruly + 1 赞一个

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2018-7-3 00:01:43 | 显示全部楼层
这段时间正好做网页字符编码转换,比如网页中\ud83d\udc4d,这个是字符大拇指,十六进制\ud83d=&HD83D   \udc4d=&HDC4D。
这个控件你不需要转换编码,直接用YMultCombineA1.Caption =Selection.Text就可以了,我只是演示一下编码用法。

评分

参与人数 1威望 +8 人气 +1 收起 理由
bruly + 8 + 1 赞一个

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2018-7-2 10:52:12 | 显示全部楼层
bruly 发表于 2018-7-1 21:06
[quote]vbfans01 发表于 2018-7-1 14:08
运行效果(䨻😃🆎)

这个要字体支持的

评分

参与人数 1威望 +3 收起 理由
bruly + 3 赞一个

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2018-7-1 14:08:37 | 显示全部楼层
运行效果(䨻😃🆎)
1.PNG

代码例子
utf8.rar (20.89 KB, 下载次数: 5)

评分

参与人数 1威望 +8 人气 +1 收起 理由
bruly + 8 + 1 很给力

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2018-6-29 17:37:51 | 显示全部楼层
异字体_转换.rar (9.17 KB, 下载次数: 8)

评分

参与人数 1威望 +8 人气 +1 收起 理由
bruly + 8 + 1 很给力

查看全部评分

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-6-29 08:22:14 | 显示全部楼层
反馈大家:我用ascw() 的思路可以求出部分来,发现每个都不一样。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-29 08:22:29 | 显示全部楼层
反馈大家:我用ascw() 的思路可以求出部分来,发现每个都不一样。
回复 支持 反对

使用道具 举报

发表于 2018-6-29 11:12:49 | 显示全部楼层
本帖最后由 JuncoJet 于 2018-6-29 11:14 编辑

UNICODE 字符,用宽字符的API直接写,不要转换不然显示不了
至于文字求UNICODE的值么,直接写入文件。在读出字节数组。或者内存里读。
回复 支持 反对

使用道具 举报

发表于 2018-6-29 22:20:24 | 显示全部楼层
仔细研究发现,有的字是双字,有的是四字
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-30 07:38:01 | 显示全部楼层
JuncoJet 发表于 2018-6-29 22:20
仔细研究发现,有的字是双字,有的是四字

的确如此,感谢您的热心帮助~!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-30 07:50:08 | 显示全部楼层
没有想到用您的代码又简单又高效,我原来用的是:
Function YTZ_BianMa(Txt1)
    Dim B1, C1
    B1 = Mid(Txt1, 1, 1)
    If Asc(B1) = 63 And AscW(B1) > -20000 And AscW(B1) < -6000 And Len(Txt1) = 2 Then
        C1 = Right(Replace(Asc(Left(StrConv(Mid(Txt1, 1, 2), 64), 1)), "-", ""), 3)
        YTZ_BianMa = AscW(Mid(Txt1, 2, 1)) & Right(AscW(Mid(Txt1, 1, 2)), 1) & C1
    Else
        C1 = Right(Replace(Asc(Left(StrConv(B1, 64), 1)), "-", ""), 3)
        YTZ_BianMa = AscW(B1) & Right(AscW(B1), 1) & C1
    End If
End Function
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-30 08:20:21 | 显示全部楼层
JuncoJet 发表于 2018-6-29 11:12
UNICODE 字符,用宽字符的API直接写,不要转换不然显示不了
至于文字求UNICODE的值么,直接写入文件。在读 ...

菜鸟再次请教老师一下,您在附件中有代码是:
            Open f For Binary As #1
            l = LOF(1)
            Dim b() As Byte
            ReDim b(l) As Byte
            Get #1, , b()
            Close #1

我看是在打开文件,把文件内容赋值到 b 上面。
如果是在word上通过手动选定某一个字符,来求它的unicode码,
这个b 是如何处理的呢?
     我用:
Dim b() As Byte
s = Selection.Text
b = s
                x = 2                                                           'unicode头
                C = 4
   
            Dim v As String
            For II = 0 To 0
                v = Hex(b(x + 3 + II)) & Hex(b(x + 2 + II)) & Hex(b(x + 1 + II)) & Hex(b(x + II))
                v = v & vbCrLf & CLng("&H" & v)
                MsgBox v
            Next

这个方法,发现下标越界。请问要如何修改代码呢?叩谢~!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2018-7-19 15:52

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表