ÐногобайÑовÑе ÑÑÑоки Ñ Ð·Ð°Ð²ÐµÑÑаÑÑим нÑлÑм
ÐногобайÑÐ¾Ð²Ð°Ñ ÑÑÑока Ñ Ð·Ð°Ð²ÐµÑÑаÑÑим нÑлÑм (NTMBS - null-terminated multibyte string) или пÑоÑÑо "многобайÑÐ¾Ð²Ð°Ñ ÑÑÑока" ÑÑо поÑледоваÑелÑноÑÑÑ Ð½ÐµÐ½ÑлевÑÑ Ð±Ð°Ð¹Ñов, коÑоÑÐ°Ñ Ð·Ð°Ð²ÐµÑÑаеÑÑÑ Ð±Ð°Ð¹Ñом Ñо знаÑением Ð½Ð¾Ð»Ñ (завеÑÑаÑÑий нÑлевой Ñимвол).
ÐаждÑй Ñимвол, Ñ ÑанÑÑийÑÑ Ð² ÑÑÑоке, Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ Ð±Ð¾Ð»ÑÑе одного байÑа. ÐодиÑовка, иÑполÑзÑÐµÐ¼Ð°Ñ Ð´Ð»Ñ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ñимволов в многобайÑовой ÑимволÑной ÑÑÑоке, завиÑÐ¸Ñ Ð¾Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸: ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ UTF-8, GB18030, EUC-JP, Shift-JIS и Ñ.д. ÐапÑимеÑ, маÑÑив Ñимволов {'\xe4','\xbd','\xa0','\xe5','\xa5','\xbd','\0'} пÑедÑÑавлÑÐµÑ Ñобой NTMBS, ÑодеÑжаÑÑÑ ÑÑÑÐ¾ÐºÑ "ä½ å¥½" в многобайÑовой кодиÑовке UTF-8: пеÑвÑе ÑÑи байÑа кодиÑÑÑÑ Ñимвол 好, ÑледÑÑÑие ÑÑи байÑа кодиÑÑÑÑ Ñимвол 好. Та же ÑÑÑока, закодиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð² GB18030 пÑедÑÑавлÑÐµÑ Ñобой маÑÑив Ñимволов {'\xc4', '\xe3', '\xba', '\xc3', '\0'}, где каждÑй из двÑÑ Ñимволов закодиÑован как двÑÑ Ð±Ð°Ð¹ÑÐ¾Ð²Ð°Ñ Ð¿Ð¾ÑледоваÑелÑноÑÑÑ.
РнекоÑоÑÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹ÑовÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÐ°Ñ Ð»ÑÐ±Ð°Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð°Ñ Ð¿Ð¾ÑледоваÑелÑноÑÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹ÑовÑÑ Ñимволов Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑедÑÑавлÑÑÑ Ñобой ÑазнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð² завиÑимоÑÑи Ð¾Ñ Ð¿ÑедÑдÑÑÐ¸Ñ Ð±Ð°Ð¹ÑовÑÑ Ð¿Ð¾ÑледоваÑелÑноÑÑей, извеÑÑнÑÑ ÐºÐ°Ðº "Ñдвиг поÑледоваÑелÑноÑÑей". Такие кодиÑовки болÑÑе извеÑÑÐ½Ñ ÐºÐ°Ðº завиÑимÑе Ð¾Ñ ÑоÑÑоÑниÑ: Ð´Ð»Ñ Ð¸Ð½ÑеÑпÑеÑаÑии каждого Ñимвола ÑÑебÑеÑÑÑ Ð·Ð½Ð°Ð½Ð¸Ðµ ÑекÑÑего ÑоÑÑоÑÐ½Ð¸Ñ Ñдвига. NTMBS дейÑÑвиÑелÑна ÑолÑко в Ñом ÑлÑÑае, еÑли она наÑинаеÑÑÑ Ð¸ заканÑиваеÑÑÑ Ð² наÑалÑном ÑоÑÑоÑнии Ñдвига: еÑли иÑполÑзовалÑÑ Ñдвиг поÑледоваÑелÑноÑÑи, должен пÑиÑÑÑÑÑвоваÑÑ ÑооÑвеÑÑÑвÑÑÑий обÑаÑнÑй Ñдвиг поÑледоваÑелÑноÑÑи пеÑед завеÑÑаÑÑим нÑлевÑм Ñимволом. ÐÑимеÑами ÑÐ°ÐºÐ¸Ñ ÐºÐ¾Ð´Ð¸Ñовок ÑвлÑÑÑÑÑ 7-биÑÐ½Ð°Ñ JIS, BOCU-1 и SCSU.
ÐногобайÑÐ¾Ð²Ð°Ñ ÑимволÑÐ½Ð°Ñ ÑÑÑока ÑÑÑÑкÑÑÑно-ÑовмеÑÑима Ñ Ð±Ð°Ð¹Ñовой ÑÑÑокой Ñ Ð·Ð°Ð²ÐµÑÑаÑÑим нÑлÑм (NTBS - null-terminated byte string), Ñо еÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ñ ÑаниÑÑÑÑ, копиÑоваÑÑÑÑ Ð¸ пÑовеÑÑÑÑÑÑ Ñ Ð¸ÑполÑзованием ÑÐµÑ Ð¶Ðµ ÑÑедÑÑв, за иÑклÑÑением вÑÑиÑÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑва Ñимволов. ÐÑли вÑбÑана коÑÑекÑÐ½Ð°Ñ Ð»Ð¾ÐºÐ°Ð»Ñ, ÑÑнкÑии Ðвода/ÐÑвода Ñакже обÑабаÑÑваÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹ÑовÑе ÑÑÑоки. ÐногобайÑовÑе ÑÑÑоки могÑÑ Ð±ÑÑÑ Ð¿ÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ñ Ð² ÑиÑокие ÑÑÑоки и наобоÑÐ¾Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑнкÑий-ÑлеменÑов std::codecvt, std::wstring_convert или Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑледÑÑÑÐ¸Ñ ÑÑнкÑий пÑеобÑазованиÑ, завиÑимÑÑ Ð¾Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸:
СодеÑжание |
[пÑавиÑÑ] ÐÑеобÑазование многобайÑовÑÑ /ÑиÑÐ¾ÐºÐ¸Ñ Ñимволов
ÐпÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð² заголовоÑном Ñайле
<cstdlib> | |
возвÑаÑÐ°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво байÑов в ÑледÑÑÑем мÑлÑÑибайÑовом Ñимволе (ÑÑнкÑиÑ) | |
пÑеобÑазÑÐµÑ ÑледÑÑÑий многобайÑовÑй Ñимвол в ÑиÑокий Ñимвол (ÑÑнкÑиÑ) | |
пÑеобÑазÑÐµÑ ÑиÑокий Ñимвол в его многобайÑовое пÑедÑÑавление (ÑÑнкÑиÑ) | |
пÑеобÑазÑÐµÑ ÑзкÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹ÑовÑÑ ÑÑÑÐ¾ÐºÑ Ñимволов в ÑиÑокÑÑ ÑÑÑÐ¾ÐºÑ (ÑÑнкÑиÑ) | |
пÑеобÑазÑÐµÑ ÑиÑокÑÑ ÑÑÑÐ¾ÐºÑ Ð² ÑзкÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹ÑовÑÑ ÑÑÑÐ¾ÐºÑ Ñимволов (ÑÑнкÑиÑ) | |
ÐпÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð² заголовоÑном Ñайле
<cwchar> | |
пÑовеÑÑеÑ, пÑедÑÑавлÑÐµÑ Ð»Ð¸ обÑÐµÐºÑ mbstate_t наÑалÑное ÑоÑÑоÑние Ñдвига (ÑÑнкÑиÑ) | |
ÑаÑÑиÑÑÐµÑ Ð¾Ð´Ð½Ð¾Ð±Ð°Ð¹ÑовÑй Ñзкий Ñимвол до ÑиÑокого Ñимвола, еÑли ÑÑо возможно (ÑÑнкÑиÑ) | |
ÑÑÐ¶Ð°ÐµÑ ÑиÑокий Ñимвол до однобайÑового Ñзкого Ñимвола, еÑли ÑÑо возможно (ÑÑнкÑиÑ) | |
возвÑаÑÐ°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво байÑов в ÑледÑÑÑем многобайÑовом Ñимволе Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑоÑÑоÑÐ½Ð¸Ñ (ÑÑнкÑиÑ) | |
пÑеобÑазÑÐµÑ ÑледÑÑÑий многобайÑовÑй Ñимвол в ÑиÑокий Ñимвол пÑи заданном ÑоÑÑоÑнии (ÑÑнкÑиÑ) | |
пÑеобÑазÑÐµÑ ÑиÑокий Ñимвол в его многобайÑовое пÑедÑÑавление пÑи заданном ÑоÑÑоÑнии (ÑÑнкÑиÑ) | |
пÑеобÑазÑÐµÑ ÑзкÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹ÑовÑÑ ÑÑÑÐ¾ÐºÑ Ñимволов в ÑиÑокÑÑ ÑÑÑÐ¾ÐºÑ Ð¿Ñи заданном ÑоÑÑоÑнии (ÑÑнкÑиÑ) | |
пÑеобÑазÑÐµÑ ÑиÑокÑÑ ÑÑÑÐ¾ÐºÑ Ð² ÑзкÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹ÑовÑÑ ÑÑÑÐ¾ÐºÑ Ñимволов пÑи заданном ÑоÑÑоÑнии (ÑÑнкÑиÑ) | |
ÐпÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð² заголовоÑном Ñайле
<cuchar> | |
(C++20) |
пÑеобÑазÑÐµÑ Ñзкий многобайÑовÑй Ñимвол в кодиÑÐ¾Ð²ÐºÑ UTF-8 (ÑÑнкÑиÑ) |
(C++20) |
пÑеобÑазÑÐµÑ ÑÑÑÐ¾ÐºÑ UTF-8 в ÑзкÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹ÑовÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ (ÑÑнкÑиÑ) |
(C++11) |
пÑеобÑазÑÐµÑ Ñзкий многобайÑовÑй Ñимвол в кодиÑÐ¾Ð²ÐºÑ UTF-16 (ÑÑнкÑиÑ) |
(C++11) |
пÑеобÑазÑÐµÑ 16-биÑнÑй Ñимвол в ÑзкÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹ÑовÑÑ ÑÑÑÐ¾ÐºÑ (ÑÑнкÑиÑ) |
(C++11) |
пÑеобÑазÑÐµÑ Ñзкий многобайÑовÑй Ñимвол в кодиÑÐ¾Ð²ÐºÑ UTF-32 (ÑÑнкÑиÑ) |
(C++11) |
пÑеобÑазовÑÐ²Ð°ÐµÑ 32-биÑнÑй Ñимвол в ÑзкÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹ÑовÑÑ ÑÑÑÐ¾ÐºÑ (ÑÑнкÑиÑ) |
[пÑавиÑÑ] ТипÑ
ÐпÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð² заголовоÑном Ñайле
<cwchar> | |
инÑоÑмаÑÐ¸Ñ Ð¾ ÑоÑÑоÑнии пÑеобÑазованиÑ, необÑ
Ð¾Ð´Ð¸Ð¼Ð°Ñ Ð´Ð»Ñ Ð¸ÑеÑаÑии многобайÑовÑÑ
ÑимволÑнÑÑ
ÑÑÑок (клаÑÑ) |
[пÑавиÑÑ] ÐакÑоÑÑ
ÐпÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð² заголовоÑном Ñайле
<climits> | |
MB_LEN_MAX |
макÑималÑное колиÑеÑÑво байÑов в многобайÑовом Ñимволе (конÑÑанÑа-макÑоÑ) |
ÐпÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð² заголовоÑном Ñайле
<cstdlib> | |
MB_CUR_MAX |
макÑималÑное колиÑеÑÑво байÑов в многобайÑовом Ñимволе в ÑекÑÑей локали C (макÑопеÑеменнаÑ) |
ÐпÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð² заголовоÑном Ñайле
<cuchar> | |
__STDC_UTF_16__ (C++11) |
ÑказÑваеÑ, ÑÑо кодиÑовка UTF-16 иÑполÑзÑеÑÑÑ mbrtoc16 и c16rtomb (конÑÑанÑа-макÑоÑ) |
__STDC_UTF_32__ (C++11) |
ÑказÑваеÑ, ÑÑо кодиÑовка UTF-32 иÑполÑзÑеÑÑÑ mbrtoc32 и c32rtomb (конÑÑанÑа-макÑоÑ) |
[пÑавиÑÑ] СмоÑÑиÑе Ñакже
ÐокÑменÑаÑÐ¸Ñ Ð¿Ð¾ C Ð´Ð»Ñ ÐногобайÑовÑе ÑÑÑоки Ñ Ð·Ð°Ð²ÐµÑÑаÑÑим нÑлÑм
|