UTF8Encoding.GetCharCount メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
バイト シーケンスをデコードすることによって生成される文字数を計算します。
オーバーロード
| 名前 | 説明 |
|---|---|
| GetCharCount(Byte[], Int32, Int32) |
指定したバイト配列からバイト シーケンスをデコードすることによって生成される文字数を計算します。 |
| GetCharCount(Byte*, Int32) |
指定したバイト ポインターから始まるバイト シーケンスをデコードすることによって生成される文字数を計算します。 |
| GetCharCount(ReadOnlySpan<Byte>) |
指定したバイト スパンをデコードすることによって生成される文字数を計算します。 |
GetCharCount(Byte[], Int32, Int32)
- ソース:
- UTF8Encoding.cs
- ソース:
- UTF8Encoding.cs
- ソース:
- UTF8Encoding.cs
- ソース:
- UTF8Encoding.cs
- ソース:
- UTF8Encoding.cs
指定したバイト配列からバイト シーケンスをデコードすることによって生成される文字数を計算します。
public:
override int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count);
public override int GetCharCount(byte[] bytes, int index, int count);
override this.GetCharCount : byte[] * int * int -> int
Public Overrides Function GetCharCount (bytes As Byte(), index As Integer, count As Integer) As Integer
パラメーター
- bytes
- Byte[]
デコードするバイトシーケンスを含むバイト配列。
- index
- Int32
デコードする最初のバイトのインデックス。
- count
- Int32
デコードするバイト数。
返品
指定したバイト シーケンスをデコードすることによって生成される文字数。
例外
bytes は nullです。
index または count が 0 未満です。
-又は-
index および count は、 bytes内の有効な範囲を示していません。
-又は-
結果のバイト数は、整数として返すことができる最大数を超えています。
エラー検出が有効になっており、 bytes に無効なバイト シーケンスが含まれています。
フォールバックが発生しました (詳細については、「 .NET での文字エンコード」を参照してください)
および
DecoderFallback は DecoderExceptionFallback に設定されます。
例
次の例では、 GetCharCount メソッドを使用して、バイト配列内の要素の範囲をデコードすることによって生成される文字数を返します。
using System;
using System.Text;
class UTF8EncodingExample {
public static void Main() {
Byte[] bytes = new Byte[] {
85, 84, 70, 56, 32, 69, 110,
99, 111, 100, 105, 110, 103, 32,
69, 120, 97, 109, 112, 108, 101
};
UTF8Encoding utf8 = new UTF8Encoding();
int charCount = utf8.GetCharCount(bytes, 2, 8);
Console.WriteLine(
"{0} characters needed to decode bytes.", charCount
);
}
}
Imports System.Text
Class UTF8EncodingExample
Public Shared Sub Main()
Dim bytes() As Byte = { _
85, 84, 70, 56, 32, 69, 110, _
99, 111, 100, 105, 110, 103, 32, _
69, 120, 97, 109, 112, 108, 101 _
}
Dim utf8 As New UTF8Encoding()
Dim charCount As Integer = utf8.GetCharCount(bytes, 2, 8)
Console.WriteLine("{0} characters needed to decode bytes.", charCount)
End Sub
End Class
注釈
結果の文字を格納するために GetChars に必要な正確な配列サイズを計算するには、 GetCharCount メソッドを呼び出します。 配列の最大サイズを計算するには、 GetMaxCharCount メソッドを呼び出します。 一般に、 GetCharCount メソッドは割り当てるメモリが少なくなりますが、 GetMaxCharCount メソッドの実行速度は一般に速くなります。
エラー検出では、無効なシーケンスにより、このメソッドは ArgumentException 例外をスローします。 エラー検出がないと、無効なシーケンスは無視され、例外はスローされません。
こちらもご覧ください
適用対象
GetCharCount(Byte*, Int32)
- ソース:
- UTF8Encoding.cs
- ソース:
- UTF8Encoding.cs
- ソース:
- UTF8Encoding.cs
- ソース:
- UTF8Encoding.cs
- ソース:
- UTF8Encoding.cs
重要
この API は CLS 準拠ではありません。
指定したバイト ポインターから始まるバイト シーケンスをデコードすることによって生成される文字数を計算します。
public:
override int GetCharCount(System::Byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public override int GetCharCount(byte* bytes, int count);
[System.CLSCompliant(false)]
public override int GetCharCount(byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount(byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount(byte* bytes, int count);
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
パラメーター
- bytes
- Byte*
デコードする最初のバイトへのポインター。
- count
- Int32
デコードするバイト数。
返品
指定したバイト シーケンスをデコードすることによって生成される文字数。
- 属性
例外
bytes は nullです。
エラー検出が有効になっており、 bytes に無効なバイト シーケンスが含まれています。
フォールバックが発生しました (詳細については、「 .NET での文字エンコード」を参照してください)
および
DecoderFallback は DecoderExceptionFallback に設定されます。
注釈
結果の文字を格納するために GetChars に必要な正確な配列サイズを計算するには、 GetCharCount メソッドを呼び出します。 配列の最大サイズを計算するには、 GetMaxCharCount メソッドを呼び出します。 一般に、 GetCharCount メソッドは割り当てるメモリが少なくなりますが、 GetMaxCharCount メソッドの実行速度は一般に速くなります。
エラー検出では、無効なシーケンスにより、このメソッドは ArgumentException 例外をスローします。 エラー検出がないと、無効なシーケンスは無視され、例外はスローされません。
こちらもご覧ください
適用対象
GetCharCount(ReadOnlySpan<Byte>)
- ソース:
- UTF8Encoding.cs
- ソース:
- UTF8Encoding.cs
- ソース:
- UTF8Encoding.cs
- ソース:
- UTF8Encoding.cs
- ソース:
- UTF8Encoding.cs
指定したバイト スパンをデコードすることによって生成される文字数を計算します。
public:
override int GetCharCount(ReadOnlySpan<System::Byte> bytes);
public override int GetCharCount(ReadOnlySpan<byte> bytes);
override this.GetCharCount : ReadOnlySpan<byte> -> int
Public Overrides Function GetCharCount (bytes As ReadOnlySpan(Of Byte)) As Integer
パラメーター
- bytes
- ReadOnlySpan<Byte>
デコードするバイトのセットを含むスパン。
返品
指定したバイト スパンをデコードすることによって生成される文字数。
注釈
結果の文字を格納するために GetChars に必要な正確なサイズを計算するには、 GetCharCount メソッドを呼び出します。 最大サイズを計算するには、 GetMaxCharCount メソッドを呼び出します。 一般に、 GetCharCount メソッドは割り当てるメモリが少なくなりますが、 GetMaxCharCount メソッドの実行速度は一般に速くなります。
エラー検出では、無効なシーケンスにより、このメソッドは ArgumentException 例外をスローします。 エラー検出がないと、無効なシーケンスは無視され、例外はスローされません。