代码之家  ›  专栏  ›  技术社区  ›  denis

python中拉丁-1字符的短Unicode \n名称?

  •  4
  • denis  · 技术社区  · 16 年前

    在python中,是否有拉丁1字符的短unicode u“\n…”名称? \ N Umlaut等很好,
    \ n带分音符等的拉丁文小写字母a太长,每次都无法打字。
    (补充):我使用英语键盘,但偶尔需要德语字母,如“l_¶wenbr_··u wei bier”。
    是的,一个人可以把它们单独切掉,我把它们切掉。 但这打破了潮流;我希望只有键盘的方式。

    6 回复  |  直到 16 年前
        1
  •  3
  •   bobince    16 年前

    对不起,不,没有这样的事。无论如何,在字符串文本中…您也许可以使用另一种编码方案,例如HTML:

    >>> import HTMLParser
    >>> HTMLParser.HTMLParser().unescape(u'a ä b c')
    u'a \xe4 b'
    

    但我认为这不值得。

    几乎没有人使用 \N 任何情况下的符号…对于偶尔出现的角色 \xnn 符号是可以接受的;对于更复杂的用法,最好只键入 ä 直接并确保 # coding= 在脚本中根据 PEP263 . (如果你没有一个键盘布局可以直接输入那些音调符号,那就买一个。例如,在Windows上使用eurokb,或者在Linux上使用compose键。)

        2
  •  3
  •   sorin    16 年前

    如果你想做正确的事,请 在python源代码中使用utf-8 . 这将使代码更具可读性。

    python能够真正的utf-8源文件,您所要做的就是在第一行之后再添加一行:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    

    顺便说一下,从python 3.0utf-8开始是默认的编码方式,所以您不再需要这行代码了。见 PEP3120

        3
  •  1
  •   Roberto Bonvallet    16 年前

    您可以在字符串中放入一个实际的“_·”字符。为此,您必须在顶部声明源代码的编码

    #!/usr/bin/env python
    # encoding: utf-8
    
    x = u"ä" 
    
        4
  •  0
  •   Mark Ransom    16 年前

    你想过写自己的转换器吗?写一些可以通过一个文件来替换\n一个umlaut为\n一个拉丁文小写字母A为diaeresis以及其他所有内容的东西并不难。

        5
  •  0
  •   Gumbo    16 年前

    您可以使用Unicode符号 \uXXXX 请描述一下这个角色:

    u"\u00E4"
    
        6
  •  0
  •   Mark Tolonen    16 年前

    在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