AM Daemon ライブラリリファレンス
|
Windows環境に特化した文字コード変換処理を提供する静的クラス。 [詳解]
#include <WinEncoding.h>
クラス | |
struct | MbcsToUtf8Tag |
マルチバイト文字列(CP932)からUTF-8文字列への変換を示すタグ構造体。 [詳解] | |
struct | MbcsToWideTag |
マルチバイト文字列(CP932)からワイド文字列(UTF-16LE)への変換を示すタグ構造体。 [詳解] | |
struct | Utf8ToMbcsTag |
UTF-8文字列からマルチバイト文字列(CP932)への変換を示すタグ構造体。 [詳解] | |
struct | Utf8ToWideTag |
UTF-8文字列からワイド文字列への変換を示すタグ構造体。 [詳解] | |
struct | WideToMbcsTag |
ワイド文字列からマルチバイト文字列(CP932)への変換を示すタグ構造体。 [詳解] | |
struct | WideToUtf8Tag |
ワイド文字列からUTF-8文字列への変換を示すタグ構造体。 [詳解] | |
静的公開メンバ関数 | |
static std::wstring | convert (std::uint32_t codePage, const std::string &src, bool remappingSjisToMbcs=true) |
ANSI文字列をワイド文字列に変換する。 [詳解] | |
static std::string | convert (std::uint32_t codePage, const std::wstring &src, bool remappingSjisToMbcs=true) |
ワイド文字列をANSI文字列に変換する。 [詳解] | |
static std::wstring | convert (const std::string &src, bool remappingSjisToMbcs=true) |
マルチバイト文字列(CP932)をワイド文字列に変換する。 [詳解] | |
static std::string | convert (const std::wstring &src, bool remappingSjisToMbcs=true) |
ワイド文字列をマルチバイト文字列(CP932)に変換する。 [詳解] | |
static std::wstring | convert (MbcsToWideTag tag, const std::string &src, bool remappingSjisToMbcs=true) |
マルチバイト文字列(CP932)をワイド文字列に変換する。 [詳解] | |
static std::wstring | convertMbcsToWide (const std::string &src) |
マルチバイト文字列(CP932)をワイド文字列に変換する。 [詳解] | |
static std::string | convert (WideToMbcsTag tag, const std::wstring &src, bool remappingSjisToMbcs=true) |
ワイド文字列をマルチバイト文字列(CP932)に変換する。 [詳解] | |
static std::string | convertWideToMbcs (const std::wstring &src, bool remappingSjisToMbcs=true) |
ワイド文字列をマルチバイト文字列(CP932)に変換する。 [詳解] | |
static std::wstring | convert (Utf8ToWideTag tag, const std::string &src, bool remappingSjisToMbcs=true) |
UTF-8文字列をワイド文字列に変換する。 [詳解] | |
static std::wstring | convertUtf8ToWide (const std::string &src) |
UTF-8文字列をワイド文字列に変換する。 [詳解] | |
static std::string | convert (WideToUtf8Tag tag, const std::wstring &src, bool remappingSjisToMbcs=true) |
ワイド文字列をUTF-8文字列に変換する。 [詳解] | |
static std::string | convertWideToUtf8 (const std::wstring &src) |
ワイド文字列をUTF-8文字列に変換する。 [詳解] | |
static std::string | convert (MbcsToUtf8Tag tag, const std::string &src, bool remappingSjisToMbcs=true) |
マルチバイト文字列(CP932)をUTF-8文字列に変換する。 [詳解] | |
static std::string | convertMbcsToUtf8 (const std::string &src) |
マルチバイト文字列(CP932)をUTF-8文字列に変換する。 [詳解] | |
static std::string | convert (Utf8ToMbcsTag tag, const std::string &src, bool remappingSjisToMbcs=true) |
UTF-8文字列をマルチバイト文字列(CP932)に変換する。 [詳解] | |
static std::string | convertUtf8ToMbcs (const std::string &src, bool remappingSjisToMbcs=true) |
UTF-8文字列をマルチバイト文字列(CP932)に変換する。 [詳解] | |
static wchar_t * | remapSjisToMbcs (wchar_t *target, std::size_t length=SIZE_MAX) |
本来のシフトJISとCP932との間でマッピングの異なるワイド文字について、 CP932への文字コード変換用に再マッピングする。 [詳解] | |
static std::wstring & | remapSjisToMbcs (std::wstring &target, std::size_t length=SIZE_MAX) |
本来のシフトJISとCP932との間でマッピングの異なるワイド文字について、 CP932への文字コード変換用に再マッピングする。 [詳解] | |
静的公開変数類 | |
static const std::uint32_t | CodePageMbcs |
マルチバイト文字列(CP932)のコードページ値 932 。 [詳解] | |
static const std::uint32_t | CodePageUtf8 |
UTF-8のコードページ値 65001 。 [詳解] | |
static const std::uint32_t | CodePageAscii |
ASCIIのコードページ値 1252 。 [詳解] | |
static const MbcsToWideTag | MbcsToWide |
マルチバイト文字列(CP932)からワイド文字列への変換を示すタグ。 [詳解] | |
static const WideToMbcsTag | WideToMbcs |
ワイド文字列からマルチバイト文字列(CP932)への変換を示すタグ。 [詳解] | |
static const Utf8ToWideTag | Utf8ToWide |
UTF-8文字列からワイド文字列への変換を示すタグ。 [詳解] | |
static const WideToUtf8Tag | WideToUtf8 |
ワイド文字列からUTF-8文字列への変換を示すタグ。 [詳解] | |
static const MbcsToUtf8Tag | MbcsToUtf8 |
マルチバイト文字列(CP932)からUTF-8文字列への変換を示すタグ。 [詳解] | |
static const Utf8ToMbcsTag | Utf8ToMbcs |
UTF-8文字列からマルチバイト文字列(CP932)への変換を示すタグ。 [詳解] | |
Windows環境に特化した文字コード変換処理を提供する静的クラス。
下記の Windows API 関数を用いた、 ANSI文字列とワイド文字列との間の文字コード変換処理を提供する。
ANSI文字列とは、ここでは char の配列で表す文字列全般を指す。 ワイド文字列とは、 wchar_t の配列で表す文字列を指す。 Windows環境においてワイド文字列の文字コードはUTF-16LEである。
静的メンバ関数 convert は、第1引数にコードページ値または変換種別タグ、 第2引数に変換元文字列を渡すことで文字コード変換を行う。 マルチバイト文字列(CP932)とワイド文字列との間の変換については、 コードページ値や変換種別タグの指定が不要なオーバロードも定義される。
また、主要な文字コード用にラップ関数が用意されている。
文字コード変換における挙動は先述の Windows API に依存する。 変換できない文字が含まれていてもその文字を '?' 等に置換するのみであり、 変換処理を打ち切ることはない。
|
static |
ANSI文字列をワイド文字列に変換する。
[in] | codePage | 変換元のコードページ値。 |
[in] | src | ANSI文字列。 |
[in] | remappingSjisToMbcs | このオーバロードでは無視される。 |
対象のコードページから変換できない文字は代替文字に置き換えられる。
|
static |
ワイド文字列をANSI文字列に変換する。
[in] | codePage | 変換先のコードページ値。 |
[in] | src | ワイド文字列。 |
[in] | remappingSjisToMbcs | 引数 codePage の値が CodePageMbcs である場合に、 静的メンバ関数 remapSjisToMbcs 相当の文字置換処理を事前に行うならば true 。 |
対象のコードページに変換できない文字は代替文字 '?' に置き換えられる。
|
inlinestatic |
マルチバイト文字列(CP932)をワイド文字列に変換する。
[in] | src | マルチバイト文字列(CP932)。 |
[in] | remappingSjisToMbcs | このオーバロードでは無視される。 |
変換できない文字は代替文字に置き換えられる。
|
inlinestatic |
ワイド文字列をマルチバイト文字列(CP932)に変換する。
[in] | src | ワイド文字列。 |
[in] | remappingSjisToMbcs | 静的メンバ関数 remapSjisToMbcs 相当の文字置換処理を事前に行うならば true 。 |
変換できない文字は代替文字 '?' に置き換えられる。
|
inlinestatic |
マルチバイト文字列(CP932)をワイド文字列に変換する。
[in] | tag | 変換種別タグ。 |
[in] | src | マルチバイト文字列(CP932)。 |
[in] | remappingSjisToMbcs | このオーバロードでは無視される。 |
変換できない文字は代替文字に置き換えられる。
|
inlinestatic |
マルチバイト文字列(CP932)をワイド文字列に変換する。
[in] | src | マルチバイト文字列(CP932)。 |
変換できない文字は代替文字に置き換えられる。
|
inlinestatic |
ワイド文字列をマルチバイト文字列(CP932)に変換する。
[in] | tag | 変換種別タグ。 |
[in] | src | ワイド文字列。 |
[in] | remappingSjisToMbcs | 静的メンバ関数 remapSjisToMbcs 相当の文字置換処理を事前に行うならば true 。 |
変換できない文字は代替文字 '?' に置き換えられる。
|
inlinestatic |
ワイド文字列をマルチバイト文字列(CP932)に変換する。
[in] | src | ワイド文字列。 |
[in] | remappingSjisToMbcs | 静的メンバ関数 remapSjisToMbcs 相当の文字置換処理を事前に行うならば true 。 |
変換できない文字は代替文字 '?' に置き換えられる。
|
inlinestatic |
UTF-8文字列をワイド文字列に変換する。
[in] | tag | 変換種別タグ。 |
[in] | src | UTF-8文字列。 |
[in] | remappingSjisToMbcs | このオーバロードでは無視される。 |
変換できない文字は代替文字に置き換えられる。
|
inlinestatic |
UTF-8文字列をワイド文字列に変換する。
[in] | src | UTF-8文字列。 |
変換できない文字は代替文字に置き換えられる。
|
inlinestatic |
ワイド文字列をUTF-8文字列に変換する。
[in] | tag | 変換種別タグ。 |
[in] | src | ワイド文字列。 |
[in] | remappingSjisToMbcs | このオーバロードでは無視される。 |
変換できない文字は代替文字 '?' に置き換えられる。
|
inlinestatic |
ワイド文字列をUTF-8文字列に変換する。
[in] | src | ワイド文字列。 |
変換できない文字は代替文字 '?' に置き換えられる。
|
inlinestatic |
マルチバイト文字列(CP932)をUTF-8文字列に変換する。
[in] | tag | 変換種別タグ。 |
[in] | src | マルチバイト文字列(CP932)。 |
[in] | remappingSjisToMbcs | このオーバロードでは無視される。 |
変換できない文字は代替文字 '?' に置き換えられる。
|
inlinestatic |
マルチバイト文字列(CP932)をUTF-8文字列に変換する。
[in] | src | マルチバイト文字列(CP932)。 |
変換できない文字は代替文字 '?' に置き換えられる。
|
inlinestatic |
UTF-8文字列をマルチバイト文字列(CP932)に変換する。
[in] | tag | 変換種別タグ。 |
[in] | src | UTF-8文字列。 |
[in] | remappingSjisToMbcs | 静的メンバ関数 remapSjisToMbcs 相当の文字置換処理を事前に行うならば true 。 |
変換できない文字は代替文字 '?' に置き換えられる。
|
inlinestatic |
UTF-8文字列をマルチバイト文字列(CP932)に変換する。
[in] | src | UTF-8文字列。 |
[in] | remappingSjisToMbcs | 静的メンバ関数 remapSjisToMbcs 相当の文字置換処理を事前に行うならば true 。 |
変換できない文字は代替文字 '?' に置き換えられる。
|
static |
本来のシフトJISとCP932との間でマッピングの異なるワイド文字について、 CP932への文字コード変換用に再マッピングする。
[in,out] | target | 再マッピング対象のワイド文字列。 |
[in] | length | 再マッピング対象文字数。 既定値 SIZE_MAX の場合は文字 '¥0' の直前までを対象とする。 |
各文字に対して下記の置換処理を行う。
ただし引数 target が nullptr である場合は何もせず nullptr を返す。
|
inlinestatic |
本来のシフトJISとCP932との間でマッピングの異なるワイド文字について、 CP932への文字コード変換用に再マッピングする。
[in,out] | target | 再マッピング対象のワイド文字列。 |
[in] | length | 再マッピング対象文字数。 この値と target.size() のうち小さい方の値を用いる。 |
各文字に対して下記の置換処理を行う。
|
static |
マルチバイト文字列(CP932)のコードページ値 932 。
CP932は、日本語WindowsではシフトJISと呼ばれることも多い文字コードである。 本来のシフトJISより文字数が多く、一部文字の定義が異なる。
|
static |
UTF-8のコードページ値 65001 。
|
static |
ASCIIのコードページ値 1252 。
|
static |
マルチバイト文字列(CP932)からワイド文字列への変換を示すタグ。
|
static |
ワイド文字列からマルチバイト文字列(CP932)への変換を示すタグ。
|
static |
UTF-8文字列からワイド文字列への変換を示すタグ。
|
static |
ワイド文字列からUTF-8文字列への変換を示すタグ。
|
static |
マルチバイト文字列(CP932)からUTF-8文字列への変換を示すタグ。
|
static |
UTF-8文字列からマルチバイト文字列(CP932)への変換を示すタグ。