在python字符串中插入负ASCII字符

时间:2013-07-29 02:42:07

标签: python string

在C中,我可以这样做:printf("%c%c",-108,109);。但是如何在Python中做到这一点?

args[2]='Test%c%cFile'% (-108,-109)
OverflowError: unsigned byte integer is less than minimum

2 个答案:

答案 0 :(得分:1)

从评论中,您似乎想要将一些非ASCII字符放入字符串中。涉及负整数的黑客在Python中不是必需的,它具有非常好的Unicode字符串,用于保存您梦寐以求的任何角色。使用代码表(如this one)查找字符的代码点,然后使用\uxxxx语法将它们插入到字符串中。

修改:您好像在U+9493 CJK UNIFIED IDEOGRAPH-9493之后,可以使用

插入字符串
str = u"\u9493"

(谢谢@KeithThompson!)

答案 1 :(得分:0)

真正的答案是你一直依赖于你的C代码中的非标准行为(其中一位语言律师可以跟进并告诉你它是否真的未定义)。

您需要研究如何在python中正确支持非ASCII,多字节字符集,而不是仅仅尝试复制不正确的C代码。

有足够的资源可以帮助正确使用应用程序“i18n”。