반응형
✔ C# - 인코딩
Convert string to byte[], byte[] to string
Unicode, Base64, UTF-8 Encoding
보통 통신을 하여 데이터를 주고 받을 경우에는 데이터를 byte로 전송하게 된다.
그때 문자열 데이터는 byte로 변환하여 전송하고 또한 수신측에서는 byte를 전송받아 다시 string으로 변환하여 사용하게 된다.
이 변환과정을 인코딩이라고 한다.
인코딩 방식은 많이있지만 가장 많이 사용하는 인코딩방식은 UTF-8, Unicode, Base64가 있다.
하지만 송신측에서 Unicode로 인코딩하면 수신측에서도 Unicode 인코더를 사용하여야 한다.
아니면 다른 결과값을 나타낼 수 있다.
인코딩을 사용하기 위해서는 using System.Text를 사용해야한다.
● string -> byte[] 변환
string _str = "나는문자열";
//UTF8 인코딩
byte[] utf8bytes = System.Text.Encoding.UTF8.GetBytes(_str);
//Unicode 인코딩
byte[] ubytes = System.Text.Encoding.Unicode.GetBytes(_str);
//Base64 인코딩 -> 암호화, 복호화에 많이 사용되며 웹쪽에서 많이 사용
byte[] bytes64 = Convert.FromBase64String(_str);
●byte[] -> string 변환
string _str = "나는문자열";
//UTF8 인코딩
byte[] utf8bytes = System.Text.Encoding.UTF8.GetBytes(_str);
//Unicode 인코딩
byte[] ubytes = System.Text.Encoding.Unicode.GetBytes(_str);
//Base64 인코딩
byte[] bytes64 = Convert.FromBase64String(_str);
//UTF-8 인코딩 string으로 변환
string utf8str = Encoding.UTF8.GetString(utf8bytes);
//Unicode 인코딩 string으로 변환
string ustr = Encoding.Unicode.GetString(ubytes);
//base64 인코딩 string으로 변환
string base64str = Convert.ToBase64String(bytes64);
●string -> char [], char[] -> string
- char는 1byte로 이미 유니코드로 인식된다. string에서 char[] 변환하는것 차체가 이미 인코딩이다.
//string -> char[] 변환
string str = "나는문자열";
char[] unicodeChars = str.ToCharArray();
//char[] -> string 변환
string _str = new string(unicodeChars);
감사합니다.
반응형
'Programming > C#' 카테고리의 다른 글
[C#] int, float, bool,struct를 Null 로 초기화방법 - System.Nullable (444) | 2022.05.03 |
---|---|
[Unity, C#] FTP 다운로드, 업로드 하기 (602) | 2022.04.21 |
[C#] Byte를 Bit 배열로 변환 - Bit를 Byte로 변환 (924) | 2022.04.01 |
[C#] 배열의 복사 - 어떤게 제일 빠르지? (Buffer.BlockCopy, Array.Copy) (1203) | 2022.03.28 |
[C#] 폴더안에 있는 파일들 찾아서 읽기 - DirectoryInfo (4) | 2022.03.14 |
댓글