System.SysUtils.ByteToCharIndex
Delphi
function ByteToCharIndex(const S: UnicodeString; Index: Integer): Integer;
function ByteToCharIndex(const S: AnsiString; Index: Integer): Integer;
C++
extern DELPHI_PACKAGE int __fastcall ByteToCharIndex _DEPRECATED_ATTRIBUTE1("Use ElementToCharIndex.") (const System::UnicodeString S, int Index)/* overload */;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.SysUtils.pas System.SysUtils.hpp |
System.SysUtils | System.SysUtils |
説明
警告: ByteToCharIndex は非推奨になっています。 ElementToCharIndex を使用してください。
文字列内の指定されたバイトを含む文字の位置を返します。
ByteToCharIndex 関数を呼び出すと,文字列内で特定のバイトを含んでいる文字がわかります。1 は最初のバイト,2 は 2 番めのバイトを指定します。Index パラメータが AnsiString にないバイトを指定する場合(Index < 0 または Index > Length(S)),ByteToCharIndex は 0 を返します。
マルチバイト文字セット(MBCS)を使用しない環境では,ByteToCharIndex は単純に Index の値を返します。なぜなら,バイトと文字に 1 対 1 の対応があるからです。それ以外の場合,ByteToCharIndex は文字の位置を返します。1 は最初の文字,2 は 2 番めの文字を示します。
たとえば,AnsiString が 2 つの文字で構成され,1 バイト文字の次に 2 バイト文字が続いている場合,ByteToCharIndex は Index が 1 のときに 1 を返し,Index が 2 か 3 のときに 2 を返し,Index がそれ以外の場合に 0 を返します。