55

私はbyte[]それをbase64でエンコードする最も効率的な方法を探しています。

問題は、組み込みの .Net メソッドが入力としてConvert.FromBase64CharArraya を必要char[]とし、mybyte[]を achar[]に変換して base64 でエンコードされた配列に再度変換することです。

それを行うより直接的な方法はありますか?

[[編集:]] 私が達成したいことを詳しく説明します - 私は を持っており、byte[]エンコードされた新しい base64 を返す必要がありますbyte[]

4

8 に答える 8

229

Byte[] -> 文字列: system.convert.tobase64string を使用

Convert.ToBase64String(byte[] data)

文字列 -> Byte[]: system.convert.frombase64string を使用

Convert.FromBase64String(string data)
于 2012-08-29T12:58:13.637 に答える
16

Base64 は、バイトをテキスト形式 (文字列) で表す方法です。したがって、Base64 でエンコードされた byte[] などはありません。base64 でエンコードされた stringがあり、これをデコードしてbyte[].

ただし、最終的にバイト配列にしたい場合は、base64 でエンコードされた文字列を取得して、次のようにバイト配列に変換できます。

string base64String = Convert.ToBase64String(bytes);
byte[] stringBytes = Encoding.ASCII.GetBytes(base64String);

ただし、バイト[]をバイト[]として表す最良の方法はバイト[]自体であるため、これは意味がありません:)

于 2012-08-29T12:58:50.233 に答える
5
byte[] base64EncodedStringBytes = Encoding.ASCII.GetBytes(Convert.ToBase64String(binaryData))
于 2012-08-29T13:08:53.337 に答える
3

あなたの編集とコメントに基づいて..これはあなたが求めているものでしょうか?

byte[] newByteArray = UTF8Encoding.UTF8.GetBytes(Convert.ToBase64String(currentByteArray));
于 2012-08-29T13:08:43.783 に答える
0

String Convert.ToBase64String(byte [])を使用してバイト配列をbase64文字列にエンコードし、次にByte [] Convert.FromBase64String(string)を使用して結果の文字列をバイト配列に変換し直すことができます。

于 2012-08-29T13:02:16.107 に答える