Giriş
Şu satırı dahil ederiz.
from_utf - char * + encoding + method type
conv::stop ilk hatada durur. conv::skip hatayı dikkate almaz.Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şu satırı dahil ederiz.
#include <boost/locale.hpp>
Bu metodun tersini locale::conv::to_utf metodu yapar.from_utf - char * + encoding + method type
conv::stop ilk hatada durur. conv::skip hatayı dikkate almaz.Şöyle yaparız.
char sz[] = { 0xE4,0xB6, 0xAE,0};
char sz2[] = { 0xEE, 0xA1,0xA3,0 };
try {
boost::locale::conv::from_utf(sz2, "gbk", boost::locale::conv::stop);
boost::locale::conv::from_utf(sz, "gbk", boost::locale::conv::stop);
}
catch(boost::locale::conv::conversion_error e){
cout << e.what() << endl;
}
from_utf - string + encoding
Şöyle yaparız.string utf8_str = "Grüssen";
string normal_str = boost::locale::conv::from_utf(utf8_str, "ISO-8859-15");
from_utf - char + localeŞöyle yaparız.
const unsigned char utf8[] = { 0x41, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x28, 0x20, 0xe2, 0x80,
0x98, 0x20, 0x29, 0x20, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x20, 0x28, 0x20, 0xe2, 0x80,
0x9c, 0x20, 0x29, 0x20, 0x28, 0x20, 0xc2, 0xab, 0x20, 0xc2, 0xbb, 0x20, 0x29, 0x00 };
boost::locale::generator loc_g;
std::string ansi0 = boost::locale::conv::from_utf<char>((const char*)utf8,
loc_g.generate("Latin1"));
printf("Latin1: %s", ansi0.c_str());
from_utf - string + localeŞöyle yaparız.
string utf8_str = "Grüssen";
string normal_str = boost::locale::conv::from_utf(utf8_str, std::locale()
);
Hiç yorum yok:
Yorum Gönder