Skip to content

Latest commit

 

History

History
32 lines (23 loc) · 1.2 KB

README.md

File metadata and controls

32 lines (23 loc) · 1.2 KB

Build Status Build Status

Babel is the library for encoding/decoding strings. Used for convert iconv and implementation using Win32 API by Yukihiro Nakadaira.

Example

Using Encoding type

const std::string str_utf16_be = "...";
auto enc = Encoding::open("UTF-16BE", "UTF-8");
std::string result(enc.encoding_size(str_utf16_be.c_str(), str_utf16_be.size()), 0);
enc.encode(str_utf16_be.c_str(), str_utf16_be.size()), const_cast<char*>(result.data()), result.size());

Using encode function

const std::string str_utf16_be = "...";
auto str = babel::encode("UTF-16BE", "UTF-8", str_utf16_be.c_str(), str_utf16_be.size());

Using for convert single-byte to multi-byte and vise versa (for Windows only).

// convert UTF-8 string to wide string
std::wstring str = babel::string_cast(u8"Привет, мир!", 65001);

// convert wide string to WINDOWS-1251 string
std::string str = babel::string_cast(L"Привет, мир!", "WINDOWS-1251");