2011-02-14 3 views

답변

9

줄 끝은 인코딩과 관련이 없습니다. 당신이 강조 문자가 필요하지 않습니다 절대적으로 확신 - 나는 그런데, ASCII 가능한 한 사용하지 마십시오 개인적으로

myString = myString.Replace("\r\n", "\n"); 

: 유닉스 라인 엔딩에 윈도우 라인 엔딩을 변환 할 경우, 문자열 자체에 그렇게 ? 내가 선택을받을 경우, 나는 보통 UTF-8을 사용 : 당신이 어딘가에 스트림에 작성하는 경우

myString = myString.Replace("\r\n", "\n"); 
byte[] bytes = Encoding.UTF8.GetBytes(myString); 

을, 어떤 대안은 있지만 돈 '그럼 당신은 한 번 인코딩을 지정 StreamWriter, 또는 File.CreateText 등을 사용하는 것입니다 직접 원시 바이트를 처리해야합니다.

+0

+1 Ascii의 UTF8. 그러나 Environment.NewLine을 "\ r \ n"이상 사용하면 더 좋을 것입니다. –

+3

@ 리차드 : 왜죠? 이 질문은 * Windows * 줄 종결자를 Unix 줄 종결 자로 변환하는 방법을 묻습니다. "내 시스템의 현재 줄 종결 자"가 아닌. 내 대답은 질문과 정확히 일치하는 코드입니다. 이것이 실제로 Mono에서 실행 중이고 Windows에서 생성 된 파일을로드하는 경우에는 어떻게해야합니까? –

+0

네가 맞습니다. –

2
string myString = @"line 1 
line 2"; 
byte[] ascii = new System.Text.ASCIIEncoding().GetBytes(myString.Replace(Environment.NewLine, "\n")); 
관련 문제