int main()
{
char str[200] = {0};
char out[500] = {0};
str[0]=0x00; str[1]=0x52; str[2]=0x00; str[3]=0x65; str[4]=0x00; str[5]=0x73; str[6]= 0x00; str[7]=0x74;
for(int i=0;i<sizeof(str);i++)
cout<<"-"<<str[i];
changeCharEncoding("UCS-2","ISO8859-1",str,out,sizeof(out));
cout<<"\noutput : "<<out;
for(int i=0;i<sizeof(out);i++)
cout<<":"<<out[i];
}
//encoding function
int changeCharEncoding(const char *from_charset, const char *to_charset, const char *input, char *output, int out_size)
{
size_t input_len = 8;
size_t output_len = out_size;
iconv_t l_cd;
if ((l_cd = iconv_open (to_charset, from_charset)) == (iconv_t) -1)
{
return -1;
}
int rc = iconv(l_cd, (char **)&input, &input_len, (char **)&output, &output_len);
if (rc == -1)
{
iconv_close(l_cd);
return -2;
}
else
{
iconv_close(l_cd);
}
}
16 비트 데이터를 8 비트로 변환하는 방법을 제안 해주십시오. iconv를 사용하여 시도해 보았습니다. 같은 것을 할 다른 것이 있다면 나에게 제안해라.16 비트 데이터를 8 비트로 변환해야합니다.
로 변경하십시오. 오버플로로 무엇을 할 건가요? 문자 집합을 변환하는 경우 원본 및 대상 인코딩을 매우 잘 알고 있어야하며 변환 할 수없는 변환을 처리하는 메커니즘이 필요합니다. –
"데이터"란 무엇을 의미합니까? 그리고 "개종하다"는 것은 무엇을 의미합니까? 유니 코드 텍스트의 ASCII 표현을하려고합니까? –
또한 C ** XOR ** C++? 정확히 하나 골랐어 요. –