IT TIP

.NET에서 문자열을 바이트 배열로 어떻게 변환합니까?

itqueen 2020. 10. 28. 21:23
반응형

.NET에서 문자열을 바이트 배열로 어떻게 변환합니까?


.NET에서 해당하는 바이트 배열로 변환해야하는 문자열이 있습니다.

이것은 쉬울 것입니다. 그러나 저는 뇌 경련이 있습니다.


인코딩 ( System.Text.Encoding) 을 사용 하여 출력으로 예상되는 내용을 .NET에 알려야합니다. 예를 들어, UTF-16 (= System.Text.Encoding.Unicode) :

var result = System.Text.Encoding.Unicode.GetBytes(text);

먼저 원하는 인코딩을 결정하십시오 . 먼저 유니 코드에 대해 약간 알아야 합니다 .

다음에 System.Text.Encoding해당하는 작업 을 수행하십시오. 핵심 .NET의 refcard는 정적 속성에 의해 (예를 가장 일반적인 것들의 설명 및 인스턴스를 얻는 방법 Encoding또는 호출하여 Encoding.GetEncoding.

마지막으로, 한 번에 모든 바이트를 원하는지 (가장 쉬운 작업 방법 -Encoding.GetBytes (string)을 한 번 호출 하면 완료 됨) 또는 청크로 분할해야하는지 여부를 결정합니다. Encoding.GetEncoder 를 사용 하고 한 번에 조금씩 인코딩합니다. 인코더는 예를 들어 문자의 절반을 중단해야하는 경우 호출 사이의 상태를 유지합니다.


어떤 인코딩을 사용하고 있습니까? Konrad는 거의 다운되었지만 다른 것들이 있고 잘못된 결과로 구피 결과를 얻을 수 있습니다.

byte[] bytes = System.Text.Encoding.XXX.GetBytes(text)

어디에 XXX있을 수 있습니다 :

ASCII
BigEndianUnicode
Default
Unicode
UTF32
UTF7
UTF8

이렇게 :

    string test = "text";
    byte[] arr = Encoding.UTF8.GetBytes(test);

참고 URL : https://stackoverflow.com/questions/241405/how-do-you-convert-a-string-to-a-byte-array-in-net

반응형