유니 코드로 한자 사전을 찾았습니다.유니 코드를 루비 문자로 변환
p "国".unpack("U*").first #this gives the unicode 22269
어떻게 반대 할 것입니다 문자 값으로 다시 22269
을 변환 할 수 있습니다 .. 나는이 사전 중 캐릭터의 데이터베이스를 구축하기 위해 노력하고있어하지만 난 문자를 유니 코드로 변환하는 방법을 모른다 위의 줄.
유니 코드로 한자 사전을 찾았습니다.유니 코드를 루비 문자로 변환
p "国".unpack("U*").first #this gives the unicode 22269
어떻게 반대 할 것입니다 문자 값으로 다시 22269
을 변환 할 수 있습니다 .. 나는이 사전 중 캐릭터의 데이터베이스를 구축하기 위해 노력하고있어하지만 난 문자를 유니 코드로 변환하는 방법을 모른다 위의 줄.
[22269].pack('U*') #=> "国" or "\345\233\275"
편집은 (1.8.6, 1.8.7에 확인하고, 1.9.2) 1.8.6+에서 작동합니다. 1.8.x에서는 단일 유니 코드 문자를 나타내는 3 바이트 문자열을 얻지 만 puts
을 사용하면 올바른 중국어 문자가 터미널에 나타납니다.
을 사용하는 루비 버전은 무엇? – Phrogz
나는 문제가되지 않도록 rvm을 가지고있다. 1.9.2를 포함한 어떠한 제안도 환영합니다. – s84
많은 텍스트를 변환하는 경우 코어의 일부인 Ruby의 [IConv] (http://ruby-doc.org/stdlib/libdoc/iconv/rdoc/index.html) 모듈을 살펴볼 수 있습니다. 도서관. [rubydoc.info] (http://rubydoc.info/stdlib/iconv/1.9.2/frames)에도 문서가 있습니다. James Edward Gray는 [iconv로 변환 인코딩]이라는 멋진 기사를 작성했습니다 (http://blog.grayproductions.net/articles/encoding_conversion_with_iconv). IConv의 장점은 음역 할 수 있다는 것입니다. 즉, 유사한 문자로 변경하거나 무시할 때 무시할 수 있기 때문에 변환이 통제 된 방식으로 저하됩니다. –