2014-01-30 4 views
0

루비 문자열에서 루비 문자열로 바이트를 인 코드하는 방법 사람이 인식 할 수있는 문자는 무엇입니까?문자열을 문자로 루비 문자열로 인코딩하는 방법

이 입력 문자열입니다

"\x127\x00\x06\x00\x00\x00\x01\x00\xA2\x8F"

그래서 어떻게 바이트 배열로

을이 문자열을 구문 분석하고 ASCII 문자로 배열에서 모든 요소를 ​​인코딩?

P. 그러나 바이트 배열에서 다시 배열로 왕복하는 방법을 찾을 수 없습니다. 나는 Array.pack을 U * 옵션과 함께 사용하려했지만 멀티 바이트 문자에는 작동하지 않습니다.

+2

당신이 무엇을 의미하는 예를주십시오 "사람이 읽을 수있는"(나는 루비 문자열로 이해하는 나는 만약 내가 잘 귀하의 예제를 읽을 수 있습니다). 또한 지금까지 가지고있는 코드를 보여주는 것이 좋습니다. 그렇지 않으면 질문에 대답하기 위해 더 많은 노력이 필요합니다. –

+0

이 방법이 도움이 될 수 있습니다 - http://www.ruby-doc.org/core-2.1.0/String.html#method-i-unpack ..하지만 어떻게 알지 .. .. –

+0

이것에 관해서는 죄송합니다. 나는 당신이 유가 무엇을 찾고 있는지를 안다면 아마도 처음에 그 질문을 할 필요가 없을 것입니다. – jww

답변

2

당신이 좋아하는 뭔가를 시도 할 수 있습니다 :

"string\xaa".each_byte.map {|b| "%c(%x)" % [ b, b ] }.join(' ') 
# => "s(73) t(74) r(72) i(69) n(6e) g(67) ª(aa)" 
관련 문제