GetCharBytes

文字列の先頭の文字のバイト数を取得する

val = GetCharBytes(CharCodeFormat, String)

int CharCodeFormat : 引数の文字列の文字コード、以下の何れか
DX_CHARCODEFORMAT_SHIFTJIS     : シフトJIS( デフォルト )
DX_CHARCODEFORMAT_GB2312       : 簡体字文字
DX_CHARCODEFORMAT_UHC        : ハングル文字
DX_CHARCODEFORMAT_BIG5       : 繁体文字
DX_CHARCODEFORMAT_UTF16LE     : UTF-16 リトルエンディアン
DX_CHARCODEFORMAT_UTF16BE     : UTF-16 ビッグエンディアン
DX_CHARCODEFORMAT_WINDOWS_1252 : 欧文( ラテン文字 )
DX_CHARCODEFORMAT_ISO_IEC_8859_15 : 欧文( ラテン文字 )
DX_CHARCODEFORMAT_UTF8       : UTF-8
DX_CHARCODEFORMAT_ASCII       : アスキー文字
DX_CHARCODEFORMAT_UTF32LE     : UTF-32 リトルエンディアン
DX_CHARCODEFORMAT_UTF32BE     : UTF-32 ビッグエンディアン
void *String : 先頭の文字のバイト数を取得したい文字列

(プラグイン / モジュール : DxLibW)

解説

コンピュータ上では文字も数値で扱います( 例えば『A』という文字は数値の『65 ( 16進数の 41 )』として扱うなど )が、
1文字当たりのバイト数は、文字コードや文字によって異なります。( 例えば、文字コード『シフトJIS』では、半角文字は 1文字 1バイト、全角文字は 1文字 2バイト、といった具合にです )

1文字が何バイトなのかを判別する方法も文字コードによって異なるので、
「何種類もある文字コード毎に何バイトか調べるプログラムを書くのは面倒!」という場合にこの関数を使用すると便利です。

戻り値:
  -1:エラー発生
  0以上:先頭の文字のバイト数

※ ポインタ型 (IntPtr) のパラメータがあります。
64bit環境では int64 型の値を渡してください。

情報

プラグイン / モジュールDxLibW
バージョン3.24f
作成日2026/04/12
著作者DxLib: Takumi Yamada / HSP binding: IronHSP Project
URLhttps://dxlib.xsrv.jp/
備考hspdxlib.as をインクルードして使用
タイプDxLib ゲームライブラリ
グループDxLib その他
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\hspdxlib.hs