ruby에서 문자열 인코딩 방법 조언 부탁드립니다.
글쓴이: pythontest / 작성시간: 월, 2017/12/18 - 6:13오후
요점은 CP949로 인코딩된 한글을 UTF-8로 변환 해야 하는데요
문제의 발단은 한글로된 실행 파일을 실행 시켜 나온 PID로 부터 실행 파일 PATH를 루비로 받아옵니다. 여기서 PATH는 CP949로 인코딩된 문자열인데 루비가 처음 스트링으로 인식할 때 UTF-8로 인식하여 문제가 일어나는것 같습니다. 저는 이 문자열을 정말 UTF-8로 인코딩한 후 file read를 해야합니다.
파이썬 코드로 해야 하는 작업을 표현하면 다음과 같습니다.
>>> a = '\xc5\xd7\xbd\xba\xc6\xae'
>>> a.decode('cp949').encode('utf-8')
'\xed\x85\x8c\xec\x8a\xa4\xed\x8a\xb8'
이거 루비로 하는법 아시는분 조언주시면 너무 감사드리겠습니다
Forums:
깔린 루비가 1.8.7 이시라면 iconv 를
깔린 루비가 1.8.7 이시라면 iconv 를 활용합니다.
답변 감사드립니다
답변 감사드립니다.
조금 더 분석을 해보니 처음 path를 받아오니 ASCII-8BIT로 인식하고 있었더라구요
어제 제가 문제를 잘못 인식하고 있었습니다.
path.force_encoding('cp949').encode('utf-8')로 해결헸습니다.
댓글 달기