免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3532 | 回复: 1
打印 上一主题 下一主题

打印gbk码表 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-06 13:38 |只看该作者 |倒序浏览
这几天由于要做一个字模套取软件,关注一下编码的问题,现在已经基本理解中文在python中如何处理!下面的程序是我写的测试程序,最后一段想打印一个gbk码表,但发现不知道如何动态构造gbk内码字符串。

对unicode : j='\u'+hex(i)[2:6]这句可以通过
对gbk码:gbk3='\xc1\x'+hex(i)[2:3]+hex(j)[2:3] ,由于\x 后面必须跟16进制数而不能通过编译请大虾指点一下,有什么办法!

#conver gbk to unicode
gbk1='我们'  #a gbk string
print 'gbk sting: ',gbk1
uni1=unicode(gbk1,'gbk') #conver to unicode str
print 'uni sting: ',uni1
#form a string form gbk code or unicode
str1='\u6211\u4eec' #unicode code of us
uni2=unicode(str1,'unicode-escape')
print 'uni sting form uni code: ',uni2
str2='\xce\xd2\xc3\xc7' #gbkcode of us
uni3=unicode(str2,'gbk')
print 'uni sting form gbk code: ',uni3
#---------------------------------------
print "print unicode 0x6211 to 0x6221"

for i in range(0x6211,0x6221):
    j='\u'+hex(i)[2:6]
    k=unicode(j,'unicode-escape')
    print j,': ',k
#-----------------------------------------
print "print c1xx area gbk code"
for i in range(0x4,0xf):
    for j in range(0,0xf):
        gbk3='\xc1\x'+hex(i)[2:3]+hex(j)[2:3]
        print gbk3
        #uni4=unicode(gbk3,'gbk')
        #print gbk3+': '+uni4+'  ',
    print '\n'

论坛徽章:
0
2 [报告]
发表于 2007-07-06 13:57 |只看该作者
坚持就是胜利,没想到这么快,自己找到了办法!
print "print c1xx area gbk code"
for i in range(0x4,0x10):
    for j in range(0,0x10):
        gbk3='\xc1'+chr((i<<4)+j)
        print gbk3,
    print '\n'
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP