一个字符的标准asci码长是多少,一个字符的标准asc码长多少

  

  上一篇,我写了通过照片生成印刷品。有评论说,可以用汉字试试。于是我研究了汉字的点阵。   

  

  点阵就是把每个字符分成1616,然后用每个点的虚点和实点来表示字符的轮廓。在字体上,汉字由16*16的0,1点阵组成,如“A”字。他的点阵如下:   

  

     

  

  我看不清楚。我用“”代替1,用“”代替0:   

  

     

  

  这里我们用的是点阵字体,是标准的通用字体。如果需要,可以给我留言。   

  

     

  

  同时你也要了解一下GB2312的编码。关于编码的介绍,请见http://www.qqxiuzi.cn/zh/hanzi-gb2312-bianma.php.   

  

  简单来说,GB2312编码是我国第一个汉字编码国家标准,1980年由国家标准总局发布,1981年5月1日开始使用。GB2312码包含6763个汉字,其中一级汉字3755个,二级汉字3008个。同时,GB2312码包含拉丁字母、希腊字母、日语平假名和片假名字母、俄语西里尔字母等682个全角字符。   

  

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

  

  准备工作结束后,开始编码:   

  

  rect_list=* 16   

  

  对于范围(16):内的I   

  

  rect_list.append( * 16)   

  

  Text='啊'   

  

  gb2312=text.encode('gb2312 ')   

  

  hex _ str=binas CII . b2a _ hex(GB 2312)   

  

  result=str(十六进制字符串,编码='utf-8 ')   

  

  area=eval('0x ' result :2)-0xa 0   

  

  index=eval('0x ' result 2:)-0xa 0   

  

  偏移量=(94 *(区域-1)(索引-1)) * 32   

  

  font_rect=无   

  

  带开('。/font/hzk1216/HZK16 ',' rb') as f:   

  

  f .查找(偏移)   

  

  font_rect=f.read(32)   

  

  对于范围内的k(len(font _ rect)//2):   

  

  row_list=rect_list   

  

  对于范围(2):中的j   

  

  对于范围(8):中的I   

  

  asc=font_rect   

  

  flag=asc键   

  

  row_list.append(标志)   

  

  对于rect_list:中的行   

  

  因为我在:排   

  

  如果是i:   

  

  打印('',end=' ')   

  

  else:   

  

  打印('',end=' ')   

  

  打印()   

  

  打印()   

  

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

相关文章