Python中的Latin1字符是否有简短的Unicode u“\ N {...}”名称?
\ N {A umlaut}等会很好,
\ N {LATIN SMALL LETTER A WITH DIAERESIS}等等每次打字都太长了。
(添加:)我使用英文键盘,但偶尔需要德文字母,如“LöwenbräuWeißbier”。
是的,可以单独剪切它们,Lcutpasteöwenbrcutpasteä...
但这打破了流动;我希望只有键盘方式。
答案 0 :(得分:3)
对不起,不,没有这样的事情。在字符串文字中,无论如何......你可能还可以搭载其他编码方案,例如HTML:
>>> import HTMLParser
>>> HTMLParser.HTMLParser().unescape(u'a ä b c')
u'a \xe4 b'
但我认为这不值得。
在任何情况下,几乎没有人使用\N
符号...对于偶然的角色,\xnn
符号是可以接受的;对于更多参与使用,您最好直接键入ä
,并确保按照PEP263在脚本中定义# coding=
。 (如果您没有可以直接键入这些变音符号的键盘布局,请在Windows上获取一个,例如:eurokb,或者在Linux上使用Compose键。)
答案 1 :(得分:3)
如果你想做正确的事,请在你的python源代码中使用UTF-8 。这将使代码更具可读性。
Python能够使用真正的UTF-8源文件,您只需在第一行之后添加一行:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
顺便说一句,从Python 3.0开始,UTF-8是默认编码,因此您不再需要此行。见PEP3120
答案 2 :(得分:1)
您可以在字符串中添加实际的“ä”字符。为此,您必须在顶部
声明源代码的编码#!/usr/bin/env python
# encoding: utf-8
x = u"ä"
答案 3 :(得分:0)
您是否考虑过编写自己的转换器?编写一些可以通过文件并将\ N {A umlaut}替换为\ N {LATIN SMALL LETTER A WITH DIAERESIS}以及所有其他文件并不难。
答案 4 :(得分:0)
您可以使用Unicode表示法\uXXXX
来描述该字符:
u"\u00E4"
答案 5 :(得分:0)
在Windows上,您可以使用charmap.exe实用程序查找您正在使用的常用字母的键盘快捷键,例如:
ALT-0223 = ß
ALT-0228 = ä
ALT-0246 = ö
然后使用Unicode并以UTF-8保存:
# -*- coding: UTF-8 -*-
phrase = u'Löwenbräu Weißbier'
或者像其他人提到的那样使用转换器并组成自己的快捷方式:
# -*- coding: UTF-8 -*-
def german(s):
s = s.replace(u'SS',u'ß')
s = s.replace(u'a:',u'ä')
s = s.replace(u'o:',u'ö')
return s
phrase = german(u'Lo:wenbra:u WeiSSbier')
print phrase