Convert.ToBase64Stringとは? わかりやすく解説

Convert.ToBase64String メソッド (Byte[], Int32, Int32, Base64FormattingOptions)

メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。

8 ビット符号なし整数配列のサブセットを、Base64 の数字でエンコードされた等価の String 形式に変換します。各パラメータは、入力配列のオフセットとしてのサブセット、変換する配列の要素の数、および戻り値で改行を挿入するかどうかを指定します。

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<ComVisibleAttribute(False)> _
Public Shared Function ToBase64String
 ( _
    inArray As Byte(), _
    offset As Integer, _
    length As Integer, _
    options As Base64FormattingOptions _
) As String
Dim inArray As Byte()
Dim offset As Integer
Dim length As Integer
Dim options As Base64FormattingOptions
Dim returnValue As String

returnValue = Convert.ToBase64String(inArray, offset, length, options)
[ComVisibleAttribute(false)] 
public static string ToBase64String
 (
    byte[] inArray,
    int offset,
    int length,
    Base64FormattingOptions options
)
[ComVisibleAttribute(false)] 
public:
static String^ ToBase64String (
    array<unsigned char>^ inArray, 
    int offset, 
    int length, 
    Base64FormattingOptions options
)
/** @attribute ComVisibleAttribute(false) */ 
public static String ToBase64String (
    byte[] inArray, 
    int offset, 
    int length, 
    Base64FormattingOptions options
)
ComVisibleAttribute(false) 
public static function ToBase64String
 (
    inArray : byte[], 
    offset : int, 
    length : int, 
    options : Base64FormattingOptions
) : String

パラメータ

inArray

8 ビット符号なし整数の配列。

offset

inArray のオフセット。

length

変換する inArray の要素の数。

options

76 文字ごとに改行を挿入する場合は InsertLineBreaks。改行を挿入しない場合は None。

戻り値
offset の位置から開始する inArray の length 要素の String 形式。Base 64 の数字で構成されています。

例外例外
例外の種類条件

ArgumentNullException

inArray が null 参照 (Visual Basic では Nothing) です。

ArgumentOutOfRangeException

offset または length が負の値です。

または

offset に length を加算した値が、inArray の長さを超えています。

ArgumentException

options が有効な Base64FormattingOptions 値ではありません。

解説解説
使用例使用例

ToBase64String メソッドのコード例を次に示します。入力は、3 バイト (24 ビット) ごとのグループに分けられます。したがって、各グループは、10 進数の 0 ~ 63 の範囲の 4 つの 6 ビット数値で構成されます。この例では、85 個の 3 バイトのグループがあり、1 バイトが残されています。最初のグループは、16 進値 00、01、02 で構成されます。これらは、10 進数の 0、0、4、2 に相当する 4 つの 6 ビット値を生成します。この 4 つの値は、出力の最初にある Base64 形式の文字 "A"、"A"、"E"、"C" に対応します。

3 バイトのグループの整数が存在しない場合は、残りのバイトに 0 が効率的に埋め込まれ、完全なグループが形成されます。この例では、最後のバイト値は 16 進数の FF です。最初の 6 ビットは 10 進数の 63 に相当し、出力の末尾にある Base64 形式の文字 "/" に対応します。次の 2 ビットには 0 が埋め込まれ、10 進数の 48 が生成されます。これは、Base64 形式の文字 "w" に対応します。最後の 2 つの 6 ビット値が埋め込まれます。これらは値として解釈されない埋め込み文字 "=" に対応します。

' This example demonstrates the Convert.ToBase64String() and 
'                               Convert.FromBase64String() methods
Imports System

Class Sample
   Public Shared Sub Main()
      Dim inArray(255)  As Byte
      Dim outArray(255) As Byte
      Dim s2 As String
      Dim s3 As String
      Dim step1 As String
 = "1) The input is a byte array (inArray) of arbitrary data."
      Dim step2 As String
 = "2) Convert a subarray of the input data array to a base 64
 string."
      Dim step3 As String
 = "3) Convert the entire input data array to a base 64 string."
      Dim step4 As String
 = "4) The two methods in steps 2 and 3 produce the same result?:
 {0}"
      Dim step5 As String
 = "5) Convert the base 64 string to an output byte array (outArray)."
      Dim step6 As String
 = "6) The input and output arrays, inArray and outArray, are
 equal?: {0}"
      Dim x As Integer
      Dim nl As String =
 Environment.NewLine
      Dim ruler1a As String
 = "         1         2         3         4"
      Dim ruler2a As String
 = "1234567890123456789012345678901234567890"
      Dim ruler3a As String
 = "----+----+----+----+----+----+----+----+"
      Dim ruler1b As String
 = "         5         6         7      "
      Dim ruler2b As String
 = "123456789012345678901234567890123456"
      Dim ruler3b As String
 = "----+----+----+----+----+----+----+-"
      Dim ruler As String
 = [String].Concat(ruler1a, ruler1b, nl, ruler2a, ruler2b, nl, ruler3a, ruler3b,
 nl)
      
      ' 1) Display an arbitrary array of input data (inArray). The data
 could be 
      '    derived from user input, a file, an algorithm, etc.
      Console.WriteLine(step1)
      Console.WriteLine()
      For x = 0 To inArray.Length - 1
         inArray(x) = CByte(x)
         Console.Write("{0:X2} ", inArray(x))
         If (x + 1) Mod 20 = 0 Then
            Console.WriteLine()
         End If
      Next x
      Console.Write("{0}{0}", nl)
      
      ' 2) Convert a subarray of the input data to a base64 string.
 In this case, 
      '    the subarray is the entire input data array. New lines (CRLF)
 are inserted.
      Console.WriteLine(step2)
      s2 = Convert.ToBase64String(inArray, 0, inArray.Length, _
                                  Base64FormattingOptions.InsertLineBreaks)
      Console.WriteLine("{0}{1}{2}{3}", nl, ruler,
 s2, nl)
      
      ' 3) Convert the input data to a base64 string. In this case,
 the entire 
      '    input data array is converted by default. New lines (CRLF)
 are inserted.
      Console.WriteLine(step3)
      s3 = Convert.ToBase64String(inArray, Base64FormattingOptions.InsertLineBreaks)
      
      ' 4) Test whether the methods in steps 2 and 3 produce the same
 result.
      Console.WriteLine(step4, s2.Equals(s3))
      
      ' 5) Convert the base 64 string to an output array (outArray).
      Console.WriteLine(step5)
      outArray = Convert.FromBase64String(s2)
      
      ' 6) Is outArray equal to inArray?
      Console.WriteLine(step6, ArraysAreEqual(inArray, outArray))
   End Sub 'Main
   
   
   Public Shared Function
 ArraysAreEqual(a1() As Byte, a2() As
 Byte) As Boolean
      If a1.Length <> a2.Length Then
         Return False
      End If
      Dim i As Integer
      For i = 0 To a1.Length - 1
         If a1(i) <> a2(i) Then
            Return False
         End If
      Next i
      Return True
   End Function 'ArraysAreEqual
End Class 'Sample
'
'This example produces the following results:
'
'1) The input is a byte array (inArray) of arbitrary data.
'
'00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13
'14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27
'28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B
'3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
'50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63
'64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77
'78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B
'8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
'A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3
'B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7
'C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB
'DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
'F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
'
'2) Convert a subarray of the input data array to a base 64 string.
'
'         1         2         3         4         5         6      
   7
'1234567890123456789012345678901234567890123456789012345678901234567890123456
'----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+-
'AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4
'OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3Bx
'cnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmq
'q6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj
'5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==
'
'3) Convert the entire input data array to a base 64 string.
'4) The two methods in steps 2 and 3 produce the same result?: True
'5) Convert the base 64 string to an output byte array (outArray).
'6) The input and output arrays, inArray and outArray, are equal?: True
'
// This example demonstrates the Convert.ToBase64String() and 
//                               Convert.FromBase64String() methods

using System;
class Sample 
{
    public static void Main()
 
    {
    byte[] inArray  = new byte[256];
    byte[] outArray = new byte[256];
    string s2;
    string s3;
    string step1 = "1) The input is a byte array (inArray)
 of arbitrary data.";
    string step2 = "2) Convert a subarray of the input data
 array to a base 64 string.";
    string step3 = "3) Convert the entire input data array
 to a base 64 string.";
    string step4 = "4) The two methods in
 steps 2 and 3 produce the same result?: {0}";
    string step5 = "5) Convert the base
 64 string to an output byte array (outArray).";
    string step6 = "6) The input and output arrays, inArray
 and outArray, are equal?: {0}";
    int x;
    string nl = Environment.NewLine;
    string ruler1a = "         1         2         3    
     4";
    string ruler2a = "1234567890123456789012345678901234567890";
    string ruler3a = "----+----+----+----+----+----+----+----+";
    string ruler1b = "         5         6         7    
  ";
    string ruler2b = "123456789012345678901234567890123456";
    string ruler3b = "----+----+----+----+----+----+----+-";
    string ruler   = String.Concat(ruler1a, ruler1b, nl, 
                                   ruler2a, ruler2b, nl,
                                   ruler3a, ruler3b, nl);

// 1) Display an arbitrary array of input data (inArray). The data could
 be 
//    derived from user input, a file, an algorithm, etc.

    Console.WriteLine(step1);
    Console.WriteLine();
    for (x = 0; x < inArray.Length; x++)
        {
        inArray[x] = (byte)x;
        Console.Write("{0:X2} ", inArray[x]);
        if (((x+1)%20) == 0) Console.WriteLine();
        }
    Console.Write("{0}{0}", nl);

// 2) Convert a subarray of the input data to a base64 string. In this
 case, 
//    the subarray is the entire input data array. New lines (CRLF)
 are inserted.

    Console.WriteLine(step2);
    s2 = Convert.ToBase64String(inArray, 0, inArray.Length, 
                                Base64FormattingOptions.InsertLineBreaks);
    Console.WriteLine("{0}{1}{2}{3}", nl, ruler, s2, nl);

// 3) Convert the input data to a base64 string. In this case, the entire
 
//    input data array is converted by default. New lines (CRLF) are
 inserted.

    Console.WriteLine(step3);
    s3 = Convert.ToBase64String(inArray, Base64FormattingOptions.InsertLineBreaks);

// 4) Test whether the methods in steps 2 and 3 produce the same result.
    Console.WriteLine(step4, s2.Equals(s3));

// 5) Convert the base 64 string to an output array (outArray).
    Console.WriteLine(step5);
    outArray = Convert.FromBase64String(s2);

// 6) Is outArray equal to inArray?
   Console.WriteLine(step6, ArraysAreEqual(inArray, outArray));
   }

    public static bool ArraysAreEqual(byte[]
 a1, byte[] a2)
    {
    if (a1.Length != a2.Length) return false;
    for (int i = 0; i < a1.Length; i++)
        if (a1[i] != a2[i]) return false;
    return true;
    }
}
/*
This example produces the following results:

1) The input is a byte array (inArray) of arbitrary data.

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13
14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27
28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B
3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63
64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77
78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B
8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3
B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7
C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB
DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF

2) Convert a subarray of the input data array to a base 64 string.

         1         2         3         4         5         6         7
1234567890123456789012345678901234567890123456789012345678901234567890123456
----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+-
AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4
OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3Bx
cnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmq
q6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj
5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==

3) Convert the entire input data array to a base 64 string.
4) The two methods in steps 2 and 3 produce the same result?:
 True
5) Convert the base 64 string to an output
 byte array (outArray).
6) The input and output arrays, inArray and outArray, are equal?: True

*/
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Convert.ToBase64String メソッド (Byte[], Base64FormattingOptions)

メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。

8 ビット符号なし整数配列のサブセットを、Base64 の数字でエンコードされた等価の String 形式に変換します。パラメータは、戻り値で改行‏を挿入するかどうかを指定します。

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<ComVisibleAttribute(False)> _
Public Shared Function ToBase64String
 ( _
    inArray As Byte(), _
    options As Base64FormattingOptions _
) As String
Dim inArray As Byte()
Dim options As Base64FormattingOptions
Dim returnValue As String

returnValue = Convert.ToBase64String(inArray, options)
[ComVisibleAttribute(false)] 
public static string ToBase64String
 (
    byte[] inArray,
    Base64FormattingOptions options
)
[ComVisibleAttribute(false)] 
public:
static String^ ToBase64String (
    array<unsigned char>^ inArray, 
    Base64FormattingOptions options
)
/** @attribute ComVisibleAttribute(false) */ 
public static String ToBase64String (
    byte[] inArray, 
    Base64FormattingOptions options
)
ComVisibleAttribute(false) 
public static function ToBase64String
 (
    inArray : byte[], 
    options : Base64FormattingOptions
) : String

パラメータ

inArray

8 ビット符号なし整数の配列。

options

76 文字ごとに改行を挿入する場合は InsertLineBreaks。改行を挿入しない場合は None。

戻り値
inArray の要素の Base64 形式での String 形式。

例外例外
例外の種類条件

ArgumentNullException

inArray が null 参照 (Visual Basic では Nothing) です。

ArgumentException

options が有効な Base64FormattingOptions 値ではありません。

解説解説

inArray パラメータの要素は数値として解釈され、Base64 形式での String 形式に変換されます。

Base64 形式の文字を 0 から昇順で並べた場合、大文字の "A" ~ "Z"、小文字の "a" ~ "z"、数字の "0" ~ "9"、および "+" と "/" の記号の順になります。値として解釈されない文字 "=" は、文字列末尾の埋め込み用に使用されます。

options パラメータに InsertLineBreaks が設定されており、変換の出力が 76 文字よりも長い場合、76 文字ごとに改行が挿入されます。改行は、復帰文字 (U+000D) とその後に続くライン フィード文字 (U+000A) として定義されます。詳細については、http://www.rfc-editor.org/ にある RFC 2045 (「Multipurpose Internet Mail Extensions」) を参照してください。

使用例使用例

ToBase64String メソッドのコード例を次に示します。入力は、3 バイト (24 ビット) ごとのグループに分けられます。したがって、各グループは、10 進数の 0 ~ 63 の範囲の 4 つの 6 ビット数値で構成されます。この例では、85 個の 3 バイトのグループがあり、1 バイトが残されています。最初のグループは、16 進値 00、01、02 で構成されます。これらは、10 進数の 0、0、4、2 に相当する 4 つの 6 ビット値を生成します。この 4 つの値は、出力の最初にある Base64 形式の文字 "A"、"A"、"E"、"C" に対応します。

3 バイトのグループの整数が存在しない場合は、残りのバイトに 0 が効率的に埋め込まれ、完全なグループが形成されます。この例では、最後のバイト値は 16 進数の FF です。最初の 6 ビットは 10 進数の 63 に相当し、出力の末尾にある Base64 形式の文字 "/" に対応します。次の 2 ビットには 0 が埋め込まれ、10 進数の 48 が生成されます。これは、Base64 形式の文字 "w" に対応します。最後の 2 つの 6 ビット値が埋め込まれます。これらは値として解釈されない埋め込み文字 "=" に対応します。

' This example demonstrates the Convert.ToBase64String() and 
'                               Convert.FromBase64String() methods
Imports System

Class Sample
   Public Shared Sub Main()
      Dim inArray(255)  As Byte
      Dim outArray(255) As Byte
      Dim s2 As String
      Dim s3 As String
      Dim step1 As String
 = "1) The input is a byte array (inArray) of arbitrary data."
      Dim step2 As String
 = "2) Convert a subarray of the input data array to a base 64
 string."
      Dim step3 As String
 = "3) Convert the entire input data array to a base 64 string."
      Dim step4 As String
 = "4) The two methods in steps 2 and 3 produce the same result?:
 {0}"
      Dim step5 As String
 = "5) Convert the base 64 string to an output byte array (outArray)."
      Dim step6 As String
 = "6) The input and output arrays, inArray and outArray, are
 equal?: {0}"
      Dim x As Integer
      Dim nl As String =
 Environment.NewLine
      Dim ruler1a As String
 = "         1         2         3         4"
      Dim ruler2a As String
 = "1234567890123456789012345678901234567890"
      Dim ruler3a As String
 = "----+----+----+----+----+----+----+----+"
      Dim ruler1b As String
 = "         5         6         7      "
      Dim ruler2b As String
 = "123456789012345678901234567890123456"
      Dim ruler3b As String
 = "----+----+----+----+----+----+----+-"
      Dim ruler As String
 = [String].Concat(ruler1a, ruler1b, nl, ruler2a, ruler2b, nl, ruler3a, ruler3b,
 nl)
      
      ' 1) Display an arbitrary array of input data (inArray). The data
 could be 
      '    derived from user input, a file, an algorithm, etc.
      Console.WriteLine(step1)
      Console.WriteLine()
      For x = 0 To inArray.Length - 1
         inArray(x) = CByte(x)
         Console.Write("{0:X2} ", inArray(x))
         If (x + 1) Mod 20 = 0 Then
            Console.WriteLine()
         End If
      Next x
      Console.Write("{0}{0}", nl)
      
      ' 2) Convert a subarray of the input data to a base64 string.
 In this case, 
      '    the subarray is the entire input data array. New lines (CRLF)
 are inserted.
      Console.WriteLine(step2)
      s2 = Convert.ToBase64String(inArray, 0, inArray.Length, _
                                  Base64FormattingOptions.InsertLineBreaks)
      Console.WriteLine("{0}{1}{2}{3}", nl, ruler,
 s2, nl)
      
      ' 3) Convert the input data to a base64 string. In this case,
 the entire 
      '    input data array is converted by default. New lines (CRLF)
 are inserted.
      Console.WriteLine(step3)
      s3 = Convert.ToBase64String(inArray, Base64FormattingOptions.InsertLineBreaks)
      
      ' 4) Test whether the methods in steps 2 and 3 produce the same
 result.
      Console.WriteLine(step4, s2.Equals(s3))
      
      ' 5) Convert the base 64 string to an output array (outArray).
      Console.WriteLine(step5)
      outArray = Convert.FromBase64String(s2)
      
      ' 6) Is outArray equal to inArray?
      Console.WriteLine(step6, ArraysAreEqual(inArray, outArray))
   End Sub 'Main
   
   
   Public Shared Function
 ArraysAreEqual(a1() As Byte, a2() As
 Byte) As Boolean
      If a1.Length <> a2.Length Then
         Return False
      End If
      Dim i As Integer
      For i = 0 To a1.Length - 1
         If a1(i) <> a2(i) Then
            Return False
         End If
      Next i
      Return True
   End Function 'ArraysAreEqual
End Class 'Sample
'
'This example produces the following results:
'
'1) The input is a byte array (inArray) of arbitrary data.
'
'00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13
'14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27
'28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B
'3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
'50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63
'64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77
'78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B
'8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
'A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3
'B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7
'C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB
'DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
'F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
'
'2) Convert a subarray of the input data array to a base 64 string.
'
'         1         2         3         4         5         6      
   7
'1234567890123456789012345678901234567890123456789012345678901234567890123456
'----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+-
'AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4
'OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3Bx
'cnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmq
'q6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj
'5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==
'
'3) Convert the entire input data array to a base 64 string.
'4) The two methods in steps 2 and 3 produce the same result?: True
'5) Convert the base 64 string to an output byte array (outArray).
'6) The input and output arrays, inArray and outArray, are equal?: True
'
// This example demonstrates the Convert.ToBase64String() and 
//                               Convert.FromBase64String() methods

using System;
class Sample 
{
    public static void Main()
 
    {
    byte[] inArray  = new byte[256];
    byte[] outArray = new byte[256];
    string s2;
    string s3;
    string step1 = "1) The input is a byte array (inArray)
 of arbitrary data.";
    string step2 = "2) Convert a subarray of the input data
 array to a base 64 string.";
    string step3 = "3) Convert the entire input data array
 to a base 64 string.";
    string step4 = "4) The two methods in
 steps 2 and 3 produce the same result?: {0}";
    string step5 = "5) Convert the base
 64 string to an output byte array (outArray).";
    string step6 = "6) The input and output arrays, inArray
 and outArray, are equal?: {0}";
    int x;
    string nl = Environment.NewLine;
    string ruler1a = "         1         2         3    
     4";
    string ruler2a = "1234567890123456789012345678901234567890";
    string ruler3a = "----+----+----+----+----+----+----+----+";
    string ruler1b = "         5         6         7    
  ";
    string ruler2b = "123456789012345678901234567890123456";
    string ruler3b = "----+----+----+----+----+----+----+-";
    string ruler   = String.Concat(ruler1a, ruler1b, nl, 
                                   ruler2a, ruler2b, nl,
                                   ruler3a, ruler3b, nl);

// 1) Display an arbitrary array of input data (inArray). The data could
 be 
//    derived from user input, a file, an algorithm, etc.

    Console.WriteLine(step1);
    Console.WriteLine();
    for (x = 0; x < inArray.Length; x++)
        {
        inArray[x] = (byte)x;
        Console.Write("{0:X2} ", inArray[x]);
        if (((x+1)%20) == 0) Console.WriteLine();
        }
    Console.Write("{0}{0}", nl);

// 2) Convert a subarray of the input data to a base64 string. In this
 case, 
//    the subarray is the entire input data array. New lines (CRLF)
 are inserted.

    Console.WriteLine(step2);
    s2 = Convert.ToBase64String(inArray, 0, inArray.Length, 
                                Base64FormattingOptions.InsertLineBreaks);
    Console.WriteLine("{0}{1}{2}{3}", nl, ruler, s2, nl);

// 3) Convert the input data to a base64 string. In this case, the entire
 
//    input data array is converted by default. New lines (CRLF) are
 inserted.

    Console.WriteLine(step3);
    s3 = Convert.ToBase64String(inArray, Base64FormattingOptions.InsertLineBreaks);

// 4) Test whether the methods in steps 2 and 3 produce the same result.
    Console.WriteLine(step4, s2.Equals(s3));

// 5) Convert the base 64 string to an output array (outArray).
    Console.WriteLine(step5);
    outArray = Convert.FromBase64String(s2);

// 6) Is outArray equal to inArray?
   Console.WriteLine(step6, ArraysAreEqual(inArray, outArray));
   }

    public static bool ArraysAreEqual(byte[]
 a1, byte[] a2)
    {
    if (a1.Length != a2.Length) return false;
    for (int i = 0; i < a1.Length; i++)
        if (a1[i] != a2[i]) return false;
    return true;
    }
}
/*
This example produces the following results:

1) The input is a byte array (inArray) of arbitrary data.

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13
14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27
28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B
3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63
64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77
78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B
8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3
B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7
C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB
DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF

2) Convert a subarray of the input data array to a base 64 string.

         1         2         3         4         5         6         7
1234567890123456789012345678901234567890123456789012345678901234567890123456
----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+-
AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4
OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3Bx
cnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmq
q6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj
5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==

3) Convert the entire input data array to a base 64 string.
4) The two methods in steps 2 and 3 produce the same result?:
 True
5) Convert the base 64 string to an output
 byte array (outArray).
6) The input and output arrays, inArray and outArray, are equal?: True

*/
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Convert.ToBase64String メソッド (Byte[])

8 ビット符号なし整数配列の値を、Base64 の数字でエンコードされた等価の String 形式に変換します。

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Shared Function ToBase64String
 ( _
    inArray As Byte() _
) As String
Dim inArray As Byte()
Dim returnValue As String

returnValue = Convert.ToBase64String(inArray)
public static string ToBase64String
 (
    byte[] inArray
)
public:
static String^ ToBase64String (
    array<unsigned char>^ inArray
)
public static String ToBase64String (
    byte[] inArray
)
public static function ToBase64String
 (
    inArray : byte[]
) : String

パラメータ

inArray

8 ビット符号なし整数の配列。

戻り値
Base 64 の数字で構成される String 形式での inArray の内容。

例外例外
例外の種類条件

ArgumentNullException

inArray が null 参照 (Visual Basic では Nothing) です。

解説解説

inArray の要素は数値として解釈され、Base64 の数字でエンコードされた String 形式に変換されます。

Base64 形式の文字を 0 から昇順で並べた場合、大文字の "A" ~ "Z"、小文字の "a" ~ "z"、数字の "0" ~ "9"、および "+" と "/" の記号の順になります。値として解釈されない文字 "=" は、文字列末尾の埋め込み用に使用されます。

使用例使用例

ToBase64CharArray メソッドを使用して、バイナリ ストリームを uuencode (Base64 形式にエンコード) し、そのエンコーディングをファイルに保存するコード例を次に示します。

Public Sub EncodeWithString()
   Dim inFile As System.IO.FileStream
   Dim binaryData() As Byte

   Try
      inFile = New System.IO.FileStream(inputFileName, _
                                        System.IO.FileMode.Open, _
                                        System.IO.FileAccess.Read)
      ReDim binaryData(inFile.Length)
      Dim bytesRead As Long
 = inFile.Read(binaryData, _
                                          0, _
                                          inFile.Length)
      inFile.Close()
   Catch exp As System.Exception
      ' Error creating stream or reading from it.
      System.Console.WriteLine("{0}", exp.Message)
      Return
   End Try

   ' Convert the binary input into Base64 UUEncoded output.
   Dim base64String As String
   Try
      base64String = System.Convert.ToBase64String(binaryData, _
                                                   0, _
                                                   binaryData.Length)
   Catch exp As System.ArgumentNullException
      System.Console.WriteLine("Binary data array is null.")
      Return
   End Try

   ' Write the UUEncoded version to the output file.
   Dim outFile As System.IO.StreamWriter
   Try
      outFile = New System.IO.StreamWriter(outputFileName, _
                                           False, _
                                           System.Text.Encoding.ASCII)
      outFile.Write(base64String)
      outFile.Close()
   Catch exp As System.Exception
      ' Error creating stream or writing to it.
      System.Console.WriteLine("{0}", exp.Message)
   End Try
End Sub
public void EncodeWithString() {
    System.IO.FileStream inFile;     
    byte[]                 binaryData;

    try {
        inFile = new System.IO.FileStream(inputFileName,
                                          System.IO.FileMode.Open,
                                          System.IO.FileAccess.Read);
        binaryData = new Byte[inFile.Length];
        long bytesRead = inFile.Read(binaryData, 0,
                                    (int)inFile.Length);
        inFile.Close();
    }
    catch (System.Exception exp) {
        // Error creating stream or reading from it.
        System.Console.WriteLine("{0}", exp.Message);
        return;
    }

    // Convert the binary input into Base64 UUEncoded output.
    string base64String;
    try {
         base64String = 
            System.Convert.ToBase64String(binaryData, 
                                          0,
                                          binaryData.Length);
    }
    catch (System.ArgumentNullException) {
        System.Console.WriteLine("Binary data array is null.");
        return;
    }

    // Write the UUEncoded version to the output file.
    System.IO.StreamWriter outFile; 
    try {
        outFile = new System.IO.StreamWriter(outputFileName,
                                    false,
                                    System.Text.Encoding.ASCII);             
        outFile.Write(base64String);
        outFile.Close();
    }
    catch (System.Exception exp) {
        // Error creating stream or writing to it.
        System.Console.WriteLine("{0}", exp.Message);
    }
}
public:
   void EncodeWithString()
   {
      FileStream^ inFile;
      array<Byte>^ binaryData;

      try
      {
         inFile = gcnew FileStream( inputFileName,
                                    FileMode::Open,
                                    FileAccess::Read );
         binaryData = gcnew array<Byte>((int)(inFile->Length));
         long bytesRead = inFile->Read( binaryData, 0,
                                        (int)inFile->Length
 );
         inFile->Close();
      }
      catch ( Exception^ exp ) 
      {
         // Error creating stream or reading from it.
         Console::WriteLine( " {0}", exp->Message );
         return;
      }
      
      // Convert the binary input into Base64 UUEncoded output.
      String^ base64String;
      try
      {
         base64String = Convert::ToBase64String( binaryData,
                                                 0,
                                                 binaryData->Length );
      }
      catch ( ArgumentNullException^ ) 
      {
         Console::WriteLine( "Binary data array is null."
 );
         return;
      }
      
      // Write the UUEncoded version to the output file.
      StreamWriter^ outFile;
      try
      {
         outFile = gcnew StreamWriter( outputFileName,
                                       false,
                                       Text::Encoding::ASCII );
         outFile->Write( base64String );
         outFile->Close();
      }
      catch ( Exception^ exp ) 
      {
         
         // Error creating stream or writing to it.
         Console::WriteLine( " {0}", exp->Message );
      }
   }
public void EncodeWithString()
{
    System.IO.FileStream inFile;
    ubyte binaryData[];

    try {
        inFile = new System.IO.FileStream(inputFileName,
                                          System.IO.FileMode.Open,
                                          System.IO.FileAccess.Read);

        binaryData = new ubyte[(int)inFile.get_Length()];

        long bytesRead = inFile.Read(binaryData,
                                     0, (int)(inFile.get_Length()));

        inFile.Close();
    }
    catch (System.Exception exp) {
        // Error creating stream or reading from it.
        System.Console.WriteLine("{0}", exp.get_Message());
        return;
    }

    // Convert the binary input into Base64 UUEncoded output.
    String base64String;

    try {
        base64String = System.Convert.ToBase64String(binaryData, 
                                                     0, binaryData.length);
    }
    catch (System.ArgumentNullException exp) {
        System.Console.WriteLine("Binary data array is null.");
        return;
    }

    // Write the UUEncoded version to the output file.
    System.IO.StreamWriter outFile;

    try {
        outFile = new System.IO.StreamWriter(
                outputFileName, false, System.Text.Encoding.get_ASCII());
        outFile.Write(base64String);
        outFile.Close();
    }
    catch (System.Exception exp) {
        // Error creating stream or writing to it.
        System.Console.WriteLine("{0}", exp.get_Message());
    }
} //EncodeWithString
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Convert.ToBase64String メソッド (Byte[], Int32, Int32)

8 ビット符号なし整数配列のサブセットを、Base64 の数字でエンコードされた等価の String 形式に変換します。各パラメータは、入力配列のオフセットとしてのサブセット、および変換する配列の要素の数を指定します。

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Shared Function ToBase64String
 ( _
    inArray As Byte(), _
    offset As Integer, _
    length As Integer _
) As String
Dim inArray As Byte()
Dim offset As Integer
Dim length As Integer
Dim returnValue As String

returnValue = Convert.ToBase64String(inArray, offset, length)
public static string ToBase64String
 (
    byte[] inArray,
    int offset,
    int length
)
public:
static String^ ToBase64String (
    array<unsigned char>^ inArray, 
    int offset, 
    int length
)
public static String ToBase64String (
    byte[] inArray, 
    int offset, 
    int length
)
public static function ToBase64String
 (
    inArray : byte[], 
    offset : int, 
    length : int
) : String

パラメータ

inArray

8 ビット符号なし整数の配列。

offset

inArray のオフセット。

length

変換する inArray の要素の数。

戻り値
offset の位置から開始する inArray の length 要素の String 形式。Base 64 の数字で構成されています。

例外例外
例外の種類条件

ArgumentNullException

inArray が null 参照 (Visual Basic では Nothing) です。

ArgumentOutOfRangeException

offset または length が負の値です。

または

offset に length を加算した値が、inArray の長さを超えています。

解説解説

inArray の要素は数値として解釈され、Base 64 での String 形式へ変換されます。

Base64 形式の文字を 0 から昇順で並べた場合、大文字の "A" ~ "Z"、小文字の "a" ~ "z"、数字の "0" ~ "9"、および "+" と "/" の記号の順になります。値として解釈されない文字 '=' は、文字列末尾の埋め込み用に使用されます。

offset パラメータと length パラメータは、32 ビット符号付き数値です。offset パラメータは、インデックス番号が 0 から始まります。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Convert.ToBase64String メソッド

8 ビット符号なし整数配列の値を、Base64 の数字でエンコードされた等価の String 形式に変換します。
オーバーロードの一覧オーバーロードの一覧

参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「Convert.ToBase64String」の関連用語

Convert.ToBase64Stringのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Convert.ToBase64Stringのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS