首页 » SEO优化 » php生成汉字技巧_用python做一些有趣的事二根据汉字生成点阵

php生成汉字技巧_用python做一些有趣的事二根据汉字生成点阵

访客 2024-11-27 0

扫一扫用手机浏览

文章目录 [+]

点阵字体是把每一个字符都分成16×16,然后用每个点的虚实来表示字符的轮廓。
点阵字体中,汉字是有1616的0,1点阵构成,比如“啊”字,他的点阵如下:

有点看不太清,我用“”代替1,“○”代替0:

php生成汉字技巧_用python做一些有趣的事二根据汉字生成点阵

这里我们用到了点阵字库,这是一个标准通用字库,如果须要,可以留言找我。

php生成汉字技巧_用python做一些有趣的事二根据汉字生成点阵
(图片来自网络侵删)

同时,还要理解GB2312的编码,关于编码的先容,请看http://www.qqxiuzi.cn/zh/hanzi-gb2312-bianma.php

大略来说,GB2312编码是第一个汉字编码国家标准,由中国国家标准总局1980年发布,1981年5月1日开始利用。
GB2312编码共收录汉字6763个,个中一级汉字3755个,二级汉字3008个。
同时,GB2312编码收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。

我们还须要利用binascii来实现16进制转换,他有两个方法,b2a_hex:二进制数据的十六进制;a2b_hex:b2a_hex的逆向函数。

准备事情完毕,开始上代码:

rect_list = [] 16

for i in range(16):

rect_list.append([] 16)

text = '啊'

gb2312 = text.encode('gb2312')

hex_str = binascii.b2a_hex(gb2312)

result = str(hex_str, encoding='utf-8')

area = eval('0x' + result[:2]) - 0xA0

index = eval('0x' + result[2:]) - 0xA0

offset = (94 (area-1) + (index-1)) 32

font_rect = None

with open(\公众./font/hzk1216/HZK16\公众, \公众rb\公众) as f:

f.seek(offset)

font_rect = f.read(32)

for k in range(len(font_rect) // 2):

row_list = rect_list[k]

for j in range(2):

for i in range(8):

asc = font_rect[k 2 + j]

flag = asc & KEYS[i]

row_list.append(flag)

for row in rect_list:

for i in row:

if i:

print('',end=' ')

else:

print('○',end=' ')

print()

print()

这样就可以输出一个点阵的汉字“啊”了。

标签:

相关文章

介绍音乐新境界_合成器使用指南

随着音乐技术的不断发展,合成器作为一种重要的音乐制作工具,越来越受到广大音乐爱好者的喜爱。如何正确使用合成器,发挥其最大潜力,却成...

SEO优化 2025-01-02 阅读0 评论0

介绍验证码,技术保障下的信息安全防线

随着互联网技术的飞速发展,网络安全问题日益凸显。验证码作为一种有效的身份验证手段,已成为保障信息安全的重要防线。本文将从验证码的起...

SEO优化 2025-01-02 阅读0 评论0