2013-12-22 2 views
0

정확한 바이트로 파일에 bbb를 쓰려면 어떤 인코딩을 사용해야합니까? 따라서 파일이 16 진수 편집기에서 열리면 그 내용은 "99 59"가됩니까? 나열된 잘못된 결과를 생성문자열에서 바이트 배열로 문자 보내기 C#

다음 방법 :

Byte[] bbb = { 0x99, 0x59 }; 
string o = System.Text.Encoding.UTF32.GetString(bbb); 

UTF32 (위) "EF BF BD '를 쓴다 UTF7는 유니'C2 99 59 'UTF8'는 EF BF BD (59)를 '기록 쓴다 'E5 A6 99', ASCII 쓰기 '3F 59'

변경되지 않은 8 비트 바이트를 생성하는 인코딩은 무엇입니까?

+0

왜 C++ 태그입니까? 자사의 C + +/CLI 또는 C# 만? – Manu343726

+1

인코딩을 사용하지 마십시오. 바이트를 변경하지 않으려면 파일에 직접 쓰기 만하면됩니다. – shf301

+0

해답을 주셔서 감사합니다. '열심히 생활에 대한 조언'을 따르기 위해 몇 가지 주요 기능을 다시 작성해야했지만 새 방법은 작업 환경이 훨씬 깔끔하고 덜 지저분합니다. – user3127017

답변

2

당신은 단순히 파일/스트림에 기록, 바이트 파일/스트림에 인코딩되지 않은를 작성하십시오.

File.WriteAllBytes(@"d:\temp\test.bin", bbb); 

또는

stream.Write(bbb, 0, bbb.Length); 

는 전혀 인코딩하지 마십시오.

+0

감사합니다 Lasse, 나는 또한 당신의 제안을 사용하고 바이트를 직접 다루는 좀 더 깔끔한 함수를 만들었습니다. feedBytes (byteToAddTo, byteArray); – user3127017

관련 문제