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

2024-09-10 04:11:27 发布

您现在位置:Python中文网/ 问答频道 /正文

在C语言中,我可以这样做:printf("%c%c",-108,109);。但是如何在Python中实现呢?在

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

Tags: isargsintegerbytelessthanminimumprintf
2条回答

从注释来看,您似乎希望将一些非ASCII字符放入字符串中。在Python中不需要涉及负整数的黑客行为,Python有非常好的Unicode字符串,可以保存任何您梦寐以求的字符。使用代码图(如this one)查找字符的代码点,然后使用\uxxxx语法将它们插入字符串中。在

编辑:您似乎在U+9493CJK UNIFIED IDEOGRAPH-9493之后,可以使用

str = u"\u9493"

(谢谢@基思汤普森!)在

真正的答案是,您一直依赖于C代码中的非标准行为(其中一种语言律师可以插嘴,告诉您它是否真正未定义)。在

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

有很多资源可以帮助你正确的应用程序的“i18n”。在

相关问题 更多 >