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

字符串中的字符编码

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

    我尝试使用以下代码以转义形式(ascii 252、八进制374、十六进制0xfc)输出包含字母“”的德语设置:

    pp "Test \374"
    pp "Test \374".encode("UTF-8")
    

    但是使用ruby 1.8.7我得到: “测试\374” “测试\374”

    使用ruby 1.9.2输出: “测试\xFC” “测试\xFC”

    如何让ruby(1.8.7+1.9.x)输出“Test”?:)

    1 回复  |  直到 16 年前
        1
  •  7
  •   John La Rooy    16 年前
    >> pp "Test \xc3\xbc"
    "Test ü"
    => nil
    
    >> s="Test \374"  # This has utf-8 encoding but we need it to be "ISO-8859-1"
    => "Test \xFC"
    >> s.force_encoding("ISO-8859-1")
    => "Test "
    >> s.encode("UTF-8")
    => "Test ü"
    >>