0
기존 파일에 base64 문자열을 추가하려고합니다. 내 코드는 다음과 같습니다.StreamWriter 인코딩 문자열이 잘못되었습니다
StreamWriter output = new StreamWriter(file, true, Encoding.ASCII);
output.WriteLine(output.NewLine + str);
여기서 file
은 파일 경로입니다.
어떤 이유로 인해 추가되는 실제 텍스트가 한자 문자열 인 경우 하나의 특정 파일 (중요한 경우 .cs 파일)이 있습니다. 그것은 내가 테스트 한 다른 모든 파일에 대해 예상대로 작동합니다.
인쇄하려는 문자열에 비 ASCII 문자가 있습니까? 즉 십진수 값이 127보다 큰 모든 문자는? 예를 들어 유니 코드 바이트 순서 표시 (http://en.wikipedia.org/wiki/Byte_order_mark)가 있습니까? – adv12
이 경우'str'은 무엇입니까? 아마도 기존 파일을 자르지 않고 덮어 쓰고 데이터가 단순히 이미 그곳에 있었습니까? –
잘못된 ('ASCII') 인코딩을 사용하여 파일을 손상시킬 가능성이 거의 있습니다. 파일이 UTF-8 (또는 다른 인코딩)이 아닌지 확인하십시오. – xxbbcc