2012-01-24 2 views
0

Latin1로 인코딩 된 mySQL 테이블에서 작동하는 데이터 정리 스크립트 (MS Smart Quotes 등)를 작성 중입니다. 데이터를 스캔하는 동안 줄 바꿈이있는 0D 0A 톤이 있음을 발견했습니다.데이터의 줄 바꿈 및 캐리지 리턴 : 0D 0A

데이터를 정리하고 있으므로 0D도 모두 제거해야합니까? 더 이상 0D (캐리지 리턴)를 유지해야 할 충분한 이유가 있습니까?

감사합니다.

답변

2

0D0A (\ r \ n) 및 0A (\ n)은 줄 종결 자입니다. \ r \ n은 주로 유닉스 시스템에서 OS 윈도우, \ n에 사용됩니다.

0D를 더 이상 유지해야하는 이유가 있습니까?

나는이 질문에 스스로 대답해야한다고 생각합니다. 데이터에서 '\ r'을 (를) 제거 할 수 있지만이 데이터를 사용할 프로그램이 '\ n'은 줄의 끝을 잘 나타내는 것을 이해해야합니다. 대부분의 경우 고려되지만, 경우에 따라 확인하십시오.

1

CR/LF 조합은 Windows 일입니다. * NIX 운영 체제는 LF 만 사용합니다. 따라서 데이터를 사용하는 응용 프로그램을 기반으로 CR을 필터링 할 것인지를 결정해야합니다. 자세한 내용은 Wikipedia entry on newline을 참조하십시오.

0

파이썬의 readline()은 \ O12가 붙은 줄을 반환합니다. \ O는 8 진수를 의미합니다. 12는 십진수 10의 경우 8 진수입니다. ASCII 표에서 Dec 10이 NL 또는 LF임을 알 수 있습니다. 줄 바꿈 또는 줄 바꿈.

유닉스 텍스트 또는 스크립트 파일의 줄 끝의 표준. 당신이 제로를 결코 것 EOF 과거 LEN()를 읽으려고하지 않는

http://www.asciitable.com/

는 그래서 LEN()는 NL이 포함된다는 점에 유의.

따라서 파이썬 readline()에서 얻은 텍스트 줄을 mysql 테이블에 삽입하면 기본적으로 NL 문자가 끝에 포함됩니다.

관련 문제