/ / Konvertovať hexadecimálne znaky na znak Unicode - c ++, unicode, znak, hex

Konvertovať šestnástkové číslo znaku unicode - c , unicode, charakter, hex

V C ++ by som chcel uložiť hexadecimálny reťazec do súboru ako znak unicode Ex: 0x4E3B uloží do súboru ---> 主

Akékoľvek návrhy alebo nápady sú vítané.

odpovede:

1 pre odpoveď č. 1

Aké kódovanie? Predpokladám, utf-8.

Akú platformu?

Ak ste potom pod Linuxom

std::locale loc("en_US.utf-8"); // or "" for system default
std::wofstream file;
file.imbue(loc); // make the utf-8 locale for the stream as default
file.open("file.txt");
wchar_t cp = 0x4E3B;
file << cp;

Ak však potrebujete systém Windows, je to úplne iný príbeh:

Musíte previesť kódový bod na utf-8. Mnoho spôsobov. Ak je väčšie, potom 0xFFFF potom previesť na UTF-16 a potom hľadať, ako používať WideCharToMultiByte, a potom uložiť do súboru.