Chr 関数、ChrW 関数
更新 : 2007 年 11 月
指定された文字コードに対応する文字を返します。
Public Function Chr(ByVal CharCode As Integer) As Char
Public Function ChrW(ByVal CharCode As Integer) As Char
パラメータ
- CharCode
必ず指定します。文字に対するコード ポイント、つまり文字コードを表す整数型 (Integer) の式です。CharCode に無効な範囲のコードを指定すると、ArgumentException エラーが発生します。Chr に指定可能な範囲は 0 ~ 255、ChrW に指定可能な範囲は -32768 ~ 65535 です。
例外
例外の種類 |
エラー番号 |
条件 |
---|---|---|
ChrW の CharCode が -32768 より小さいか、65535 より大きい。 |
||
Chr の CharCode が 0 より小さいか、255 より大きい。 |
非構造化エラー処理を使用する Visual Basic 6.0 アプリケーションをアップグレードする場合は、"エラー番号" の列を参照してください(エラー番号を Number プロパティ (Err オブジェクト) と比較することもできます)。ただし、可能であれば、このようなエラー制御は Visual Basic の構造化例外処理の概要 に置き換えることを検討してください。
解説
CharCode に設定できる値の範囲は非対称であり、短整数型 (Short 型 (Visual Basic)) と整数型 (整数型 (Integer) (Visual Basic)) の間にあるストレージ範囲の違いがこれによって吸収されます。たとえば、-29183 は Short 型の値ですが、+36353 は Integer 型の値です。これにより、Visual Basic 6.0 との互換性も容易になります。
Chr は、System.Text 名前空間の Encoding クラスを使って、現在のスレッドが 1 バイト文字セット (SBCS) と 2 バイト文字セット (DBCS) のどちらを使用するのかを判断します。それに基づいて、CharCode を適切なセットのコード ポイントとして受け取ります。SBCS 文字の範囲は 0 ~ 255 で、DBCS 文字の範囲は -32768 ~ 65535 です。
返される値は、System.Globalization 名前空間にある TextInfo クラスの ANSICodePage プロパティに含まれている現在のスレッドのコード ページによって異なります。ANSICodePage を取得するには、System.Globalization.CultureInfo.CurrentCulture.TextInfo.ANSICodePage を指定します。
ChrW は、CharCode を Unicode のコード ポイントとして受け取ります。コードの範囲は、文化や現在のスレッドに対するコード ページの設定には依存しません。-32768 ~ -1 の範囲の値は、+32768 ~ +65535 の範囲の値と同じように扱われます。
0 ~ 31 の範囲の値は、標準の ASCII コードと同じで表示できません。たとえば、Chr(10) はライン フィード文字を返します。
メモ : |
---|
旧バージョンの Visual Basic に含まれる ChrB 関数は、1 バイト文字を返します。これは主に、2 バイト文字セット (DBCS) アプリケーションで文字列を変換するために使用します。Visual Basic および .NET Framework のすべての文字列は Unicode で、ChrB はサポートされていません。 |
使用例
次のコード例では、Chr 関数を使って、指定された文字コードに対応する文字を返します。
Dim associatedChar As Char
' Returns "A".
associatedChar = Chr(65)
' Returns "a".
associatedChar = Chr(97)
' Returns ">".
associatedChar = Chr(62)
' Returns "%".
associatedChar = Chr(37)
必要条件
名前空間 : Microsoft.VisualBasic
モジュール : Strings
**アセンブリ :**Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)