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

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

访客 2024-11-21 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()

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

标签:

相关文章

QQ聊天恶搞代码技术背后的趣味与风险

人们的生活越来越离不开社交软件。在我国,QQ作为一款历史悠久、用户众多的社交平台,深受广大网民喜爱。在QQ聊天的过程中,恶搞代码的...

SEO优化 2025-03-02 阅读1 评论0

Python代码截屏技术与应用的完美融合

计算机屏幕截图已经成为人们日常生活中不可或缺的一部分。无论是分享工作成果、记录游戏瞬间,还是保存网页信息,屏幕截图都发挥着重要作用...

SEO优化 2025-03-02 阅读1 评论0

QQ无限刷礼物代码技术突破还是道德沦丧

社交平台逐渐成为人们生活中不可或缺的一部分。QQ作为我国最具影响力的社交软件之一,其丰富的功能吸引了大量用户。近期有关QQ无限刷礼...

SEO优化 2025-03-02 阅读1 评论0