Unicode , UTF8 , UTF7 , UTF16 , UTF32 , ASCII和ANSI编码有什么区别? 这对程序员有什么帮助?
快乐的例子: #!/usr/bin/env python # -*- coding: utf-8 -*- czech = u'Leoš Janáček'.encode("utf-8") print(czech) pl = u'Zdzisław Beksiński'.encode("utf-8") print(pl) jp = u'リング 山村 貞子'.encode("utf-8") print(jp) chinese = u'五行'.encode("utf-8") print(chinese) MIR = u'Машина для Инженерных Расчётов'.encode("utf-8") print(MIR) pt = u'Minha Língua Portuguesa: çáà'.encode("utf-8") print(pt) 不愉快的输出: b'Leo\xc5\xa1 Jan\xc3\xa1\xc4\x8dek' b'Zdzis\xc5\x82aw Beksi\xc5\x84ski' b'\xe3\x83\xaa\xe3\x83\xb3\xe3\x82\xb0 \xe5\xb1\xb1\xe6\x9d\x91 \xe8\xb2\x9e\xe5\xad\x90' b'\xe4\xba\x94\xe8\xa1\x8c' b'\xd0\x9c\xd0\xb0\xd1\x88\xd0\xb8\xd0\xbd\xd0\xb0 \xd0\xb4\xd0\xbb\xd1\x8f \xd0\x98\xd0\xbd\xd0\xb6\xd0\xb5\xd0\xbd\xd0\xb5\xd1\x80\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xa0\xd0\xb0\xd1\x81\xd1\x87\xd1\x91\xd1\x82\xd0\xbe\xd0\xb2' […]
我有一个Unicode编码的string\uXXXX ,我想把它转换成一个普通的字母( UTF-8 )。 例如: String myString = "\u0048\u0065\u006C\u006C\u006F World"; 应该成为 "Hello World" 我知道,当我打印string,它显示Hello world 。 我的问题是我从Unix机器上的文件读取文件名,然后我search它们。 文件名是用Unicode编码的,当我search这些文件时,我找不到它们,因为它search的文件名是\uXXXX 。
我正在试图打印一个俄文“ф”( U + 0444 CYRILLIC SMALL LETTER EF)字符,该字符被赋予十进制数1092 。 使用C ++,我怎样才能打印出这个字符? 我会认为沿着下面的路线的东西会工作,但… int main (){ wchar_t f = '1060'; cout << f << endl; }
我有一个从string列表中删除标点符号的函数: def strip_punctuation(input): x = 0 for word in input: input[x] = re.sub(r'[^A-Za-z0-9 ]', "", input[x]) x += 1 return input 我最近修改我的脚本使用Unicodestring,所以我可以处理其他非西方字符。 这个函数在遇到这些特殊字符时会中断,并返回空的Unicodestring。 我怎样才能可靠地从Unicode格式的string中删除标点符号?
为什么下面的项目失败? 为什么用“latin-1”编解码器成功? o = "a test of \xe9 char" #I want this to remain a string as this is what I am receiving v = o.decode("utf-8") 结果是: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 […]
有没有办法在Python中全局禁止unicodestring指示符? 我在一个应用程序专门与unicode工作,并做了很多互动的东西。 让u'prefix'出现在我的所有debugging输出中是不必要的和令人厌恶的。 它可以被closures吗?
866字符集默认情况下安装在Windows'cmd.exe与光荣的Unicode相比较差和不方便。 我可以在默认情况下安装Unicode或将cmd.exereplace为另一个控制台,并使其成为默认值,以便程序使用它而不是cmd.exe? 我知道chcp 65001仅在运行控制台中更改编码。 我想在系统级别更改字符集。
任何想法,为什么这不工作? 我真的认为'忽略'会做正确的事情。 >>> 'add \x93Monitoring\x93 to list '.encode('latin-1','ignore') Traceback (most recent call last): File "<interactive input>", line 1, in ? UnicodeDecodeError: 'ascii' codec can't decode byte 0x93 in position 4: ordinal not in range(128)
我听到了人们的意见冲突 – 根据维基百科的说法, 请看这里 。 他们是一样的东西,不是吗? 有人可以澄清?