반응형
API 통신을할때 언어셋이 다른경우 한글이 깨져서 나오는경우가 발생한다.
그때 EUC-KR 에서 UTF8로 변환하는 코드이다.
URL인코딩을 한경우
HttpUtility.UrlDecode() 메소드를 통해디코딩할때
Encoding.GetEncoding(51949) 메소드를 이용하여 EUC-KR 문자로 디코딩후
해당문자를 byte에담아 문자를 출력한다.
int euckrCodepage = 51949; //EUC-KR 의 코드번호
// URL Encoding된 문자열을 Decoding
name = HttpUtility.UrlDecode(HttpUtility.UrlDecode(name, Encoding.GetEncoding(euckrCodepage)));
System.Text.Encoding euckr = System.Text.Encoding.GetEncoding(euckrCodepage);
//문자열을 EUC-KR byte로변환하여 byte[]에담아준다.
byte[] euckrBytes = euckr.GetBytes(name);
name = euckr.GetString(euckrBytes);
(예시의 경우 EUC-KR 로 2번 인코딩해서 받은 문자열이기때문에 2번디코딩하였다.)
자주사용하는 언어코드
1200 utf-16 Unicode
65001 utf-8 Unicode (UTF-8)
51949 euc-kr Korean (EUC)
※참조 : https://msdn.microsoft.com/ko-kr/library/system.text.encodinginfo.getencoding(v=vs.110).aspx
728x90
반응형
'Programing > .NET' 카테고리의 다른 글
[C#]SFTP 파일 업로드 (0) | 2021.11.08 |
---|---|
[C#] AES256(AES/CBC/PKCS5Padding) 암/복호화 (0) | 2021.03.14 |
[C#] RestSharp 으로 HTTP/HTTPS 통신 (0) | 2020.07.24 |
[C#] Log파일 생성 (0) | 2019.07.30 |
[C#] HTTP/HTTPS 송수신 (HttpWebRequest/HttpWebResponse) (0) | 2018.07.26 |