免费注册 查看新帖 |

Chinaunix

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

关于中文的问题,大家帮忙看看 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-05 17:34 |只看该作者 |倒序浏览
10可用积分
我有一个汉字转换拼音的代码
具体看这里 http://blog.csdn.net/jiangnanandi/archive/2009/02/27/3943108.aspx

代码中
# if __name__=='__main__':  
#     f = open('wbtext1.txt','r')  
#     reslist = f.readlines()  
#     f.close()  
#     word = raw_input(u'请输入汉字: ')  
#     print GetPy(word).lower()     

这里采用raw_input的返回值作为输入参数,能够正确返回结果
但是当我用 '\xe4\xb8\x9c\xe5\x9f\x8e\xe5\x8c\xba' 这个当参数(在数据库里读出的。就是“东城区”这几个字)

问题出来了 用  word = raw_input(u'请输入汉字: ')  获得的Word变量(Word=东城区)长度是6,
但是 当我在外部调用接口 参数Word= '\xe4\xb8\x9c\xe5\x9f\x8e\xe5\x8c\xba'  长度是9
其实这里两个都是“东城区”的意思,但是第二种Word= '\xe4\xb8\x9c\xe5\x9f\x8e\xe5\x8c\xba' 会导致我转换拼音的时候出错。
出错的代码是
# def GetPy(word):  
#     #首先装载资源文件  
#     i=0  
#     allstr = ''  
#     while i<len(word):  
#         if ord(word)>127:  
#             if allstr:  
#                 allstr += Return_pinyin(word+word[i+1])  
#             else:  
#                 allstr = Return_pinyin(word+word[i+1])  
#             i +=2  
#         else:  
#             if allstr:  
#                 allstr += word  
#             else:  
#                 allstr = word  
#             i +=1  
#     return allstr  

我想问问大家有没有办法能够把 Word= '\xe4\xb8\x9c\xe5\x9f\x8e\xe5\x8c\xba' 换成 根 word=东城区一样

最佳答案

查看完整内容

>>> Word= '\xe4\xb8\x9c\xe5\x9f\x8e\xe5\x8c\xba'>>> print Word.decode("utf8").encode("gbk")东城区

论坛徽章:
0
2 [报告]
发表于 2009-03-05 17:34 |只看该作者
>>> Word= '\xe4\xb8\x9c\xe5\x9f\x8e\xe5\x8c\xba'
>>> print Word.decode("utf8").encode("gbk")
东城区

论坛徽章:
0
3 [报告]
发表于 2009-03-05 17:35 |只看该作者
版主,有时间帮帮忙,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP