Я пытаюсь преобразовать строку sjis в utf-8, используя iconv API.Я скомпилировал его уже успешно, но результат оказался не таким, как я ожидал.Мой код:
void convertUtf8ToSjis(char* utf8, char* sjis){
iconv_t icd;
int index = 0;
char *p_src, *p_dst;
size_t n_src, n_dst;
icd = iconv_open("Shift_JIS", "UTF-8");
int c;
p_src = utf8;
p_dst = sjis;
n_src = strlen(utf8);
n_dst = 32; // my sjis string size
iconv(icd, &p_src, &n_src, &p_dst, &n_dst);
iconv_close(icd);
}
Я получил только случайные числа.Есть идеи?
Редактировать: Мой ввод
char utf8[] = "\xe4\xba\x9c"; //亜
И вывод должен быть: 0x88 0x9F
Но на самом деле: 0x30 0x00 0x00 0x31 0x00 ...