1

たとえば、16 進数の文字列を utf-8 に変換し"\\XB6\\XAB..."たい"中国""\x68\x65\x6c\x6c\x6f".unpack("Z*")→を使っています"hello"が、うまくいきません。

4

2 に答える 2

2

Ruby 1.9 を使用している場合は、次を使用しますString#force_encoding

"\xe4\xb8\xad\xe5\x9b\xbd".force_encoding("UTF-8")
于 2012-09-15T17:40:52.220 に答える
1

文字列の定義には必ず二重引用符を使用してください。そうしないと、期待した結果が得られません。

二重引用符を使用した例:

"\xe4\xb8\xad\xe5\x9b\xbd".force_encoding("UTF-8")  =>  "中国"

一重引用符を使用した例:

'\xe4\xb8\xad\xe5\x9b\xbd'.force_encoding("UTF-8") => "\\xe4\\xb8\\xad\\xe5\\x9b\\xbd"
于 2014-10-21T19:31:22.530 に答える