C# Winform | String to Byte Array | Byte Array to String
String to Byte Array
private byte[] StringToByte(string str)
{
byte[] bytes = Encoding.Default.GetBytes(str);
return bytes;
}
|
cs |
Byte Array to String
private string ByteToString(byte[] bytes)
{
string str = Encoding.Default.GetString(bytes);
return str;
}
|
cs |
Test Code
private void btnTest_Click(object sender, EventArgs e)
{
string str_en = "String Byte";
string str_kor = "스트링 바이트";
byte[] bytes_en = StringToByte(str_en);
byte[] bytes_kor = StringToByte(str_kor);
Console.WriteLine("str_en");
foreach (byte b in bytes_en)
{
Console.WriteLine(b);
}
Console.WriteLine(ByteToString(bytes_en));
Console.WriteLine("str_kor");
foreach (byte b in bytes_kor)
{
Console.WriteLine(b);
}
Console.WriteLine(ByteToString(bytes_kor));
}
|
cs |
Result
주의 사항
1. Encoding 할시 Type을 같은 타입을 사용한다.
Encoding.Default.GetString(bytes);
Encoding.Default.GetBytes(str);
|
cs |
2. 한글 깨짐
Encoding.Default 를 사용하면 한글 꺠짐을 방지할수 있다.
Type은 다음과 같다.
Default
ASCII
유니코드 문자를 단일 7 비트 ASCII 문자로 인코딩합니다. 이 인코딩은 U + 0000과 U + 007F 사이의 사이의 문자 값만 지원 합니다. 코드 페이지 20127. 속성을 통해서도 사용할 수 있습니다
Unicode
UTF-16 인코딩을 사용 하 여 유니코드 문자를 인코딩합니다. Little endian 및 big endian 바이트 주문이 둘 다 지원 됩니다. 속성 및 속성을 통해 사용할 수도 있습니다
UTF7
UTF-8 인코딩을 사용 하 여 유니코드 문자를 인코딩합니다. 이 인코딩은 모든 유니코드 문자 값을 지원 합니다. 코드 페이지 65000. 속성을 통해서도 사용할 수 있습니다
UTF8
UTF-8 인코딩을 사용 하 여 유니코드 문자를 인코딩합니다. 이 인코딩은 모든 유니코드 문자 값을 지원 합니다. 코드 페이지 65001. 속성을 통해서도 사용할 수 있습니다
UTF32
UTF-8 인코딩을 사용 하 여 유니코드 문자를 인코딩합니다. Little endian (코드 페이지 12000) 및 big endian (코드 페이지 12001) 바이트 주문이 둘 다 지원 됩니다. 속성을 통해서도 사용할 수 있습니다
Encoding 클래스 (System.Text)
문자 인코딩을 나타냅니다.Represents a character encoding.
docs.microsoft.com
'C# Winform' 카테고리의 다른 글
textbox vertical alignment 이벤트 추가 (TextChanged) (0) | 2023.06.27 |
---|---|
HttpClient 사용해서 UPBIT 마켓 조회하기 (0) | 2023.06.26 |
C# Winform | AsyncSocket | Client Socket (0) | 2020.12.08 |
C# Winform | textbox vertical alignment | custom control (10) | 2020.12.04 |
List Of Windows Messages | WndProc (0) | 2020.11.30 |