我正在尝试制作一个脚本,将日文片假名转换为罗马字(“シ”改为“石”)。我正在尝试的是:
x = u''
x = raw_input('Enter katakana: ')
x = x.replace(u'\u30B7', u'shi')
Enter Katakana: シ
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)
只要我在我的脚本中把unicode写成u'\u30B7'而不是シ,它应该可以处理它,对吗?在
raw_input
以字节编码的形式返回输入的字符串,该格式因使用的终端而异。请先尝试使用以下命令将输入显式解码为Unicode:您得到的错误来自replace试图通过默认的
ascii
编解码器天真地将字节编码的x
转换为Unicode。在相关问题 更多 >
编程相关推荐