首页 » 网站建设 » Php点阵技巧_用python做一些有趣的事二根据汉字生成点阵

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

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

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

标签:

相关文章

介绍闪光弹,现代战争中的神秘武器

随着科技的发展,战争形态也在不断演变。在现代战争中,闪光弹作为一种神秘而有效的武器,发挥着越来越重要的作用。本文将带您揭开闪光弹的...

网站建设 2024-12-25 阅读0 评论0

从ABC网站看互联网时代的崛起与变革

随着科技的飞速发展,互联网已经渗透到人们生活的方方面面。在我国,互联网的普及率逐年攀升,逐渐成为人们获取信息、交流互动的重要渠道。...

网站建设 2024-12-25 阅读0 评论0

介绍黑客秀,技术背后的暗网风云

在互联网高速发展的今天,网络安全问题日益突出。黑客,这个神秘而又危险的群体,始终在暗网中潜伏,他们的手段和技巧令人瞠目结舌。本文将...

网站建设 2024-12-25 阅读0 评论0

丹东,东北亚地区的重要门户与活力城市

丹东,这座位于中国东北边境的城市,拥有着得天独厚的地理位置和丰富的历史文化底蕴。作为东北亚地区的重要门户,丹东不仅是中国对外开放的...

网站建设 2024-12-23 阅读0 评论0

中文在JSP技术中的应用与发展

随着互联网技术的飞速发展,中文在Web开发中的应用日益广泛。JSP(JavaServer Pages)作为Java平台下的服务器端...

网站建设 2024-12-23 阅读0 评论0