文字エンコーディングを表します。
More...
#include <Encoding.hpp>
|
virtual void | finalize () |
| 参照がなくなり、オブジェクトが削除されようとしているときに呼び出されます。実装コードでは仮想関数を呼び出すことができます。主にデストラクタの制限を回避するために使用します。
|
|
◆ checkPreamble()
size_t ln::TextEncoding::checkPreamble |
( |
const void * |
buffer, |
|
|
size_t |
bufferSize |
|
) |
| const |
指定されたバッファの先頭バイト列が、BOM と一致するかを確認します。
- Returns
- 一致した場合は BOM のバイト数を返します。そうでなければ 0 を返します。
◆ createDecoder()
virtual TextDecoder* ln::TextEncoding::createDecoder |
( |
| ) |
|
|
pure virtual |
バイトシーケンスを内部文字列へ変換するデコーダを作成します。
作成したオブジェクトは、使い終えたら削除する必要があります。
◆ createEncoder()
virtual TextEncoder* ln::TextEncoding::createEncoder |
( |
| ) |
|
|
pure virtual |
内部文字列をバイトシーケンスへ変換するエンコーダを作成する
作成したオブジェクトは、使い終えたら削除する必要があります。
◆ detectEncodingSimple()
static const Ref<TextEncoding>& ln::TextEncoding::detectEncodingSimple |
( |
const char * |
str, |
|
|
int |
length, |
|
|
bool |
strict |
|
) |
| |
|
static |
バイトシーケンスがどのようなエンコーディングで表されているかを簡易的に判別します。
判別できるエンコーディングは ASCII と UTF-8 です。それ以外の場合は systemMultiByteEncoding() で返されるエンコーディングとみなされます。
◆ getCharacterCount()
virtual int ln::TextEncoding::getCharacterCount |
( |
const void * |
buffer, |
|
|
size_t |
bufferSize |
|
) |
| const |
|
pure virtual |
指定されたバッファをこのエンコーディングで表現した際の文字数を取得します。
- Returns
- 文字数。マルチバイトコードやサロゲートペアを考慮した文字数です。
◆ getLeadExtraLength()
virtual int ln::TextEncoding::getLeadExtraLength |
( |
const void * |
buffer, |
|
|
size_t |
bufferSize |
|
) |
| const |
|
pure virtual |
指定されたバッファの先頭がマルチバイトコードやサロゲートペアの先行文字である場合、追加で読むべき文字列長さを返します。
- Returns
- 追加で読むべき文字列長さ。先行文字ではない場合は 0。
◆ name()
virtual const String& ln::TextEncoding::name |
( |
| ) |
const |
|
pure virtual |
◆ preamble()
virtual byte_t* ln::TextEncoding::preamble |
( |
| ) |
const |
|
pure virtual |
このエンコードを識別するための BOM (Byte order mark) を取得します。
- Returns
- 0 で終わるバイト列。BOM を持たないエンコードの場合は nullptr
◆ systemMultiByteEncoding()
static const Ref<TextEncoding>& ln::TextEncoding::systemMultiByteEncoding |
( |
| ) |
|
|
static |
環境依存のマルチバイト文字コードのエンコーディングを取得します。
Windows 環境では CP_THREAD_ACP が示すコードページエンコーディングです。それ以外の環境では UTF-8 となります。
◆ utf16Encoding()
UTF-16 エンコーディングを取得します。
このエンコーディングは ln::String や ln::Char のエンコーディングです。 エンディアンはプログラムの動作環境に依存します。 BOM (Byte order mark) は付きません。
◆ utf32Encoding()
UTF-32 エンコーディングを取得します。
エンディアンはプログラムの動作環境に依存します。 BOM (Byte order mark) は付きません。
◆ utf8Encoding()
UTF-8 エンコーディングを取得します。
BOM (Byte order mark) は付きません。
◆ wideCharEncoding()
環境依存のワイド文字のエンコーディングを取得します。
wchar_t のサイズによって UTF-16 または UTF-32 となります。
The documentation for this class was generated from the following file:
- /home/runner/work/Website/Website/_Lumino/include/LuminoCore/Text/Encoding.hpp