파이썬 2.7.2의 문자열에는 "\ u0638"이 있습니다. 나는 그것을 파일에 쓸 때 : 내가 볼 stdout에 같은 문자열을 인쇄 할 때 FF FE 38 06 : 진수에서파이썬 UTF-16 인코딩 16 진수 표현
f = open("J:\\111.txt", "w+")
f.write(u"\u0638".encode('utf-16'))
f.close()
그것은처럼 보이는 '\ XFF \ xfe8 \ X06'.
위의 쿼리 :stdout에 출력되는 문자열의 \ x38은 어디입니까? 다른 말로하면 stdout에 출력되는 문자열이 '\ xff \ xfe \ x38 \ x06'이 아닌 이유는 무엇입니까?
나는 두 번 파일에 문자열을 작성하는 경우 :
이f = open("J:\\111.txt", "w+")
f.write(u"\u0638".encode('utf-16'))
f.write(u"\u0638".encode('utf-16'))
f.close()
파일의 진수 표현 바이트 순서 표시 (BOM)를 포함 \ XFF \ XFE 두 번 : FF FE 38 06 FF FE 38 06
BOM을 UTF-16으로 인코딩 된 문자열로 작성하지 않으려면 어떻게해야할까요?
다른 방법으로 넣어 :
파이썬 2.X에서, 코덱 래퍼를 사용하여 ''\ X38 '=='8 ' ' –
원래 질문의 예제가 'u'\ u063a ''인 경우 대답은 훨씬 더 분명했을 것입니다. –