【问题标题】:Converting from \unnnn to letters从 \unnnn 转换为字母
【发布时间】:2011-12-21 12:58:30
【问题描述】:

我有一个这样存储字母的文件

\u0410\u0411\u0426

我想把它们转换成可读的东西 例如\u0410\u0411\u0426 表示АБЦ

但我不知道为什么 A 存储为 \u0410 或为什么 Б 存储为 \u0411。 如何在这两者之间进行转换?

【问题讨论】:

    标签: linux bash shell scripting


    【解决方案1】:
    $ echo -e '\u0410\u0411\u0426'
    АБЦ
    $ printf '\u0410\u0411\u0426'
    АБЦ
    $ python3 -c 'print("\u0410\u0411\u0426")'
    АБЦ
    $ echo '\u0410\u0411\u0426' | ascii2uni -qaU
    АБЦ
    

    【讨论】:

    • 只是为了澄清:最后一个可用于 ascii2uni -qaU 的“文件”
    • 它们都不能在 bash 4.1.5 中工作,但 echo АБЦ 工作,所以那里没有编码问题。您是否应用了任何特殊设置?
    • @A.H.我正在使用Ubuntu 11.10GNU Bash-4.2。无特殊设置。
    • @A.H 也许你需要 sudo apt-get install python3-minimal。但是如何从 АБЦ 转换为 \u0410\u0411\u0426 ?
    • @Lukap。 for i in 'АБЦ': print(hex(ord(i)))
    【解决方案2】:
    #irb -E binary
    ruby-1.9.3-p0 :001 > s="\u0410\u0411\u0426"
     => "\u0410\u0411\u0426" 
    
    #irb -E utf-8
    ruby-1.9.3-p0 :001 > s="\u0410\u0411\u0426"
     => "АБЦ"
    

    您必须阅读有关字符编码的内容,unicodeUTF-8

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-04
      • 2019-10-16
      • 2016-07-07
      • 1970-01-01
      相关资源
      最近更新 更多