次の方法で共有


UTF8Encoding.GetByteCount メソッド (String)

指定した String から文字をエンコードした結果を格納するために必要なバイト数を計算します。

Overrides Overloads Public Function GetByteCount( _
   ByVal chars As String _) As Integer
[C#]
public override int GetByteCount(stringchars);
[C++]
public: int GetByteCount(String* chars);
[JScript]
public override function GetByteCount(
   chars : String) : int;

パラメータ

  • chars
    エンコードする String

戻り値

chars 内の文字をエンコードするために必要なバイト数。

例外

例外の種類 条件
ArgumentNullException chars が null 参照 (Visual Basic では Nothing) です。
ArgumentException chars には、無効な Unicode サロゲート文字が含まれています。また、このインスタンスの UTF8Encoding コンストラクタでは、無効なエンコーディングが検出された場合に例外をスローするように指定されています。
ArgumentOutOfRangeException 戻り値が MaxValue を超えています。

解説

エンコードされた文字を格納するために GetBytes メソッドによって要求された配列サイズを正確に計算するには GetByteCount を使用し、その最大値を計算するには GetMaxByteCount を使用します。

エラー検出がオフのときに、無効なサロゲート シーケンスが検出された場合、無効な文字は無視され、戻り値に影響を与えず、例外もスローされません。

使用例

[Visual Basic, C#, C++] UTF8Encoding を使用して String chars をエンコードするために必要なバイト数を、 GetByteCount メソッドを使用して返す方法を次の例に示します。

 
Imports System
Imports System.Text

Class UTF8EncodingExample
    
    Public Shared Sub Main()
        Dim chars As String = "UTF8 Encoding Example"
        
        Dim utf8 As New UTF8Encoding()
        Dim byteCount As Integer = utf8.GetByteCount(chars)
        Console.WriteLine("{0} bytes needed to encode string.", byteCount)
    End Sub 'Main
End Class 'UTF8EncodingExample

[C#] 
using System;
using System.Text;

class UTF8EncodingExample {
    public static void Main() {
        String chars = "UTF8 Encoding Example";

        UTF8Encoding utf8 = new UTF8Encoding();
        int byteCount = utf8.GetByteCount(chars);
        Console.WriteLine(
            "{0} bytes needed to encode string.", byteCount
        );
    }
}

[C++] 
#using <mscorlib.dll>
using namespace System;
using namespace System::Text;

int main()
{
   String * chars = S"UTF8 Encoding Example";

   UTF8Encoding* utf8 = new UTF8Encoding();
   int byteCount = utf8 -> GetByteCount(chars);
   Console::WriteLine(S"{0} bytes needed to encode string.", __box(byteCount));
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

UTF8Encoding クラス | UTF8Encoding メンバ | System.Text 名前空間 | UTF8Encoding.GetByteCount オーバーロードの一覧