20 Şubat 2018 Salı

locale conv to_utf metodu

Giriş
Şu satırı dahil ederiz.
#include <boost/locale.hpp>
Bu metodun tersini locale::conv::from_utf metodu yapar.

to_utf metodu - encoding
Şöyle yaparız.
string utf8_str = boost::locale::conv::to_utf<char>("Grüssen", "ISO-8859-15");
to_utf metodu - locale
Şöyle yaparız.
// Create system default locale
string utf8_str = boost::locale::conv::to_utf<char>("Grüssen", std::locale());
utf_to_utf metodu
UTF-8, UTF-16, UTF-32 arasında dönüşüm yapar. Template parametresi çıktının ne olacağını belirtir.
char16_t ve char32_t C++11 derleyicileri tarafından desteklenmiyor. Şöyle yaparız.
#define BOOST_LOCALE_ENABLE_CHAR32_T
Örnek
Şöyle yaparız.
std::string strUTF8 = boost::locale::conv::utf_to_utf<char>(L"hello");
std::wstring strUTF16 = boost::locale::conv::utf_to_utf<wchar_t>("hello");
Örnek
Şöyle yaparız.
std::u16string str1 = boost::locale::conv::utf_to_utf<char16_t>("unicode");
std::u16string str2 = boost::locale::conv::utf_to_utf<char16_t>("UNICODE");
Örnek
UTF-8'den UTF32'ye çevirmek için şöyle yaparız.
typedef std::u32string string_type;
std::string input_str = "Some UTF-8 texts";
string_type buffer = boost::locale::conv::utf_to_utf<string_type::value_type>
  (input_str); // convert utf-8 to utf-32

Hiç yorum yok:

Yorum Gönder