간단히 한글 문서를 뒤집어서 출력해 저장할 일이 생겼는데불러오고 나서 출력하면 안깨짐근데 이걸 글자글자 리스트로 쪼개서 뒤집은다음 다시 문자열로 재조합하는 과정을 거치면 너덜너덜해져버림어떻게 보존할 수 있을까?
예시를 보여봐.
2바이트 1바이트 구분 제대로 못한거 아냐?
메모장에 안녕하세요 라고 적고
그걸 불러와서 [안,녕,하,세,요]라고 쪼갬
이렇게 리스트로 만들면 reverse()메소드로 뒤집을 수가 있어서
쪼갠다음 뒤집고 그걸 재조합함 [요,세,하] 이걸 요세하 이렇게 붙여서 출력하면
외계어가 되버림
뒤집기 방법이 잘못됬나 싶어서 불러온담에 [::-1] 이걸로 뒤집어도 마찬가지
utf-8 인코딩 선언하기도 했고
뒤집을때 한글은 2바이트 단위로 뒤집어야 하니깐
메모장 저장할때 인코딩을 일일이 바꿔봤지만 결과는 처참
뭣하면 맵 같은걸로 한글짜씩 매달아서 뒤집으면 되지 않을깡?
첫 바이트가 0x80 보다 크면 두바이트 (한글) 로 map 에 쑤셔 넣고.
그게 아니면 한 바이트만 넣고 map 뒤집기.
크다 작다 비교보단 MSB 가 1인지 & 로 체크하는게 유리.
아니면 유니코드로 받아서 전체 뒤집고 2바이트 씩 swap
한글로 슬라이싱을 시도하면 문제가 발생하네요
그 문서는 참고로 순도 백프로 한글임
공백 개행등은 1바이트 문자들이야. 유니코드로 전환전엔 그렇지.
ㅇㅇ//되버림->돼버림
ㅇㅇ//됬->됐
a="안녕하세요" list=[] for i in unicode(a,'utf8'):list.append(i) list.reverse() for i in list:print i