注册 登录
编程论坛 VB6论坛

如何求汉字的二进制代码?

yuma 发布于 2022-08-13 18:37, 1408 次点击
如何求汉字的二进制代码?

例如:

010011100010110101010011010011100100111010111010011011000001000101010001011100010101010010001100010101101111110101100010000100000111101011001011010011101000111001100010111001011010001110010101111001110100


上面二进制代码又是什么汉字?
4 回复
#2
风吹过b2022-08-13 21:10
已知汉字吗?
求汉字的 内部编码的 二进制?
VB6 提供了ASC 函数,汉字能得到一个负数,再使用 HEX 函数转为十六进制,再自己写程序转为二进制字符串

二进制转汉字,
你这上面二进制 205 个,不是16的倍数,你想干什么呢? 汉字一般二进制最高位为 1 。
二进制转内部编码
从最右边,按每16个为一段,为一个 int 数据,
然后按二进制转10进制的方法,自己写乘法计算,
或者 分成4位一段,查表或多分支选择 转十六进制,拼起后使用 VAL (&H & 字符串) 把16进制字符串转换为数值。
与ASC 对应的反函数 是 CHR 。用这个函数可以把负数转为汉字。


------------------------------------
如果是已知汉字,转显示字模编码
你得有有显示字库,点阵字库,有 16 点阵,有24点阵,还有更高的,矢量这里不说。
根据字库的数据长度,和汉字排列规律,计算出起始坐标,然后读出数据长度的数据,
  一种是转二进制,然后对0或1判断。一种是直接使用位运算,判断。0 和 1分别代表 不输出 和 输出 。
日本很早的繁体中文里的显示字库有些是 15*16 的点阵字库,我用 QBASIC 读过并显示了。

#3
yuma2022-08-13 22:05
回复 2楼 风吹过b
感谢,有空我测试一下。
#4
独木星空2022-08-14 05:57
回复 2楼 风吹过b
风吹过b版主对这太在行了。
#5
yuma2022-08-14 19:46
好了,成功了。

1101011011010000101110111010101011001000110010111100001111110001101110011011001010111010110011011011100111111010101100111100100111000001101000101101001111011010001100010011100100110100001110011100010011101010


[此贴子已经被作者于2022-8-19 13:57编辑过]

1