使用python chr()函数结合变音符号

时间:2014-04-27 01:01:46

标签: python python-3.x unicode

我正在编写一个Python脚本,用于在字符串中添加变音符号(在U + 03XX范围内)。但是,chr()每次尝试将该范围内的数字转换为字符时都会抱怨。 (这是Python 3,所以没有unichr。)

以下是我的代码的截断版本:

    strl = list(input())
    args = input().split(" ")
    strl[int(args[0])]+=chr(int(args[1])+0x300) #this is the line that breaks

崩溃时出现以下异常:

UnicodeEncodeError: 'charmap' codec can't encode character '\u0300' in position 16: character maps to <undefined>

那么如何将整数转换为组合变音符的字符串表示形式?

(例如,如果我将字符串"accent marks"放入strl,将"0 0"放入args,我希望strl最终为{ {1}}

更新:在评论中,delnan向我解释["à","c","c","e","n","t"," ","m","a","r","k","s"]工作正常,但程序拒绝打印字符串。如何打印包含此代码块中字符的字符串(已存储在变量中)?

1 个答案:

答案 0 :(得分:1)

这里的问题不在于chr();问题只是Windows控制台无法显示有问题的字符。感谢所有帮助我在评论中解释这一点的人。