草庐IT

unicode_normalize

全部标签

python - 将 unicode 字符串转换为字节字符串

我从函数中得到一个字符串,它表示为u'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0',但是为了处理它我需要它是字节串(如'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0')。如何在不更改的情况下转换它?到目前为止,我最好的猜测是采用s.encode('unicode_escape'),它将返回'\\xd0\\xbc\\xd0\\xb0\\xd1\\x80\\xd0\\xba\\xd0\\xb0'并每5个字符处理一次,以便'\xd0'成为表示为'\xd0'的一个字符。 最佳答案

python - 从 Python 中的 unicode 字符串替换非 ascii 字符

如何在Python中替换unicode字符串中的非ascii字符?这是我对给定输入的输出:音乐->音乐纸箱->纸箱卡诺->卡诺Myaybe有一个字典,其中'á'是键,'a'是值? 最佳答案 如果您只想将重音字符降级为非重音字符:>>>importunicodedata>>>unicodedata.normalize('NFKD',u"m\u00fasica").encode('ascii','ignore')'musica' 关于python-从Python中的unicode字符串替换非

python - 如何在 Windows 控制台中用 python 打印 unicode 字符串

这个问题在这里已经有了答案:Python,Unicode,andtheWindowsconsole(15个答案)关闭8年前。我正在开发一个python应用程序,它可以将多种语言的文本打印到多个平台的控制台。该程序在所有UNIX平台上运行良好,但在Windows中,在命令行中打印unicode字符串时出现错误。关于这个已经有一个相关的线程:(WindowscmdencodingchangecausesPythoncrash)但我在那里找不到我的具体答案。例如,对于以下亚洲文本,在Linux中,我可以运行:>>>printu"\u5f15\u8d77\u7684\u6216".encode

python - 为什么在将 Unicode 写入 CMD 时会出现 IOErrors? (代码页 65001)

我在Windows8中使用CMD,并将代码页设置为65001(chcp65001)。我使用的是Python2.7.2(ActivePython2.7.2.5),并将PYTHONSTARTUP环境变量设置为“bootstrap.py”。bootstrap.py:importcodecscodecs.register(lambdaname:name=='cp65001'andcodecs.lookup('UTF-8')orNone)这让我打印ASCII:>>>print'hello'hello>>>printu'hello'hello但是当我尝试打印带有非ASCII字符的Unicode字符

java - 异常 + 迭代器结束信号 : why is it bad in Java and normal in Python?

我真的很困惑:Java中的标准方法是仅在“异常”情况下抛出异常,而不用它们来表示迭代器结束。示例:EffectiveJava,第57项(“仅在异常情况下使用异常”)和JavaSpecialistsnewsletter162:FlowcontrolWeshouldnevercauseanexceptionthatisotherwisepreventable.Ihaveseencodewhereinsteadofcheckingbounds,itisassumedthatthedatawillbecorrectandthenRuntimeExceptionsarecaught:Hereis

python - string.decode() 与 unicode(string)

myString='éíěřáé'我需要将这个字符串解码为un​​icode。下面的用法和这两种方法之间一般有什么区别吗?myString.decode(encoding='UTF-8',errors='ignore')和unicode(myString,encoding='UTF-8',errors='ignore') 最佳答案 unicode构造函数可以接受除字符串之外的其他类型:>>>unicode(10)u'10'然而,对于bytestring的情况,这两种形式在很大程度上是等价的。某些编码选项对unicode构造函数无效,

python - 在 Python 中将 ASCII 字符转换为 Unicode FULLWIDTH 拉丁字母?

你能轻松地在ASCII字符和它们的亚洲全角Unicode宽字符之间转换吗?喜欢:0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&()*+,-./:;?@[\\]^_`{|}~到0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!゛#$%&()*+、ー。/:;〈==〉?@[\\]^_‘{|}~ 最佳答案 那些“宽”字符被命名为FULLWIDTHLATINLETTER:http

python - shlex.split 仍然不支持 unicode?

根据文档,在Python2.7.3中,shlex应该支持UNICODE。但是,当运行下面的代码时,我得到:UnicodeEncodeError:'ascii'codeccan'tencodecharactersinposition184-189:ordinalnotinrange(128)我做错了什么吗?importshlexcommand_full=u'software.py-fileA="sequence.fasta"-fileB="新建文本文档.fasta.txt"-output_dir="..."-FORMtitle="tst"'shlex.split(command_full

python - Windows 上使用 Python 和 subprocess.Popen() 的 Unicode 文件名

为什么会出现以下情况:>>>u'\u0308'.encode('mbcs')#UMLAUT'\xa8'>>>u'\u041A'.encode('mbcs')#CYRILLICCAPITALLETTERKA'?'>>>我有一个Python应用程序接受来自操作系统的文件名。它适用于某些国际用户,但不适用于其他用户。例如,这个unicode文件名:你'\u041a\u0433\u044b\u044b\u0448\u0444\u0442'不会使用Windows的“mbcs”编码(文件系统使用的编码,由sys.getfilesystemencoding()返回)进行编码。我得到“????????

用于 unicode 大写单词的 Python 正则表达式

我有一组不同语言(英语、波兰语、芬兰语、俄语等)的单词,需要检查哪些单词是用大写字母写的。我尝试使用简单的正则表达式:^[A-Z],但它只匹配拉丁字母,然后我添加了俄语大写字母:^[A-ZА-Я]。但是许多带有变音符号的unicode字母仍然存在。如何将所有大写字母添加到我的正则表达式中?是否可以在不枚举符号的情况下做到这一点?附言我知道如何在Ruby中实现这一点,但现在我正在使用Python。 最佳答案 如果您需要使用正则表达式,您有两个选择:安装PyPiregexmodule并使用\p{Lu}或[[:upper:]](其中包含更