|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=23866 [복사]
리눅스에서 작성한 텍스트문서를 윈도우즈로 옮기려는데 0x0a문자가 깨져서나와서 작성했습니다
리눅스에서는 엔터를 0x0a로 처리하고
윈도우즈에서는 엔터를 0x0d 0x0a로 처리하기때문에
바이트를 계속 검사하다가 0x0a를 만나면 0x0d 0x0a로 바꾸고
나머지는 그냥 그대로 쓰시면됩니다
파이썬 2.7.3 에서 작성했습니다
file = raw_input("Enter File path and name: ")
bytes = open(file, "rb").read()
i=0
c=""
while i < len(bytes):
if bytes[i] == "\x0a":
c += "\x0d\x0a"
else:
c += bytes[i]
i+=1
open(file, "wb").write(c)
자주쓸껀아니라서 굳이 옵션같은건 설정안해뒀습니다
이건 리눅스에서 윈도우즈로 갈때구요
윈도우즈에서 리눅스는
if bytes[i] == "\x0d\x0a":
c += "\x0a"
이렇게 if부분만 바꾸고 사용하시면됩니다
64kb크기 텍스트파일기준으로 다 변환하는데 0.3초정도 걸렸습니다 |
Hit : 9662 Date : 2012/06/10 03:57
|