JavaでのBase 64エンコーディングの使用

1613 ワード

JSON文字列で送信された画像.この文字列(Base 64符号化)をandroidアプリケーションの画像に変換して表示する
Android側からioストリームでアップロードするピクチャを読み出し、Base 64でバイトストリームに符号化する文字列
Base 64は、ネットワーク上で最も一般的な8 Bitバイトコードを伝送するための符号化方式の1つである.Base 64は主に暗号化ではなく、いくつかのバイナリ数を通常の文字に変換してネットワーク伝送に使用するのが主な用途である.一部のバイナリ文字は転送プロトコルで制御文字に属するため、直接転送できない場合は変換する必要があります.最も一般的な用途は、電子メールまたはWebService添付ファイルとしての伝送符号化である.
Java Base 64これは、(encode/decode)base 64文字列およびデータストリームを符号化および復号するためのJavaオープンソースクラスライブラリです.Base 64は、ネットワーク上で最も一般的な8 Bitバイトコードを伝送するための符号化方式の1つである.電子メールやWebServiceの添付ファイルとしての伝送コードとして使用することができる.
base 64の1つの役割は、ASCII以外のすべての文字のデータをASCII文字に変換することであり、一部のシステムではASCIIのみを認識しているため、より移植性があるべきである.
またbase 64は暗号化アルゴリズムではなく、符号化アルゴリズムにすぎず、データの伝送に適しており、ほとんど安全性がなく、肉眼で原文を読めない程度にしかならない.また、符号化を行うと、原文より3分の1長くなります.
URLアドレスのパラメータとしてURLを使用する必要がある場合があります.例えば、URLにパラメータが含まれている場合は、次のようにします.
/shopping/confirm.action?id=1&name=itzhai
では、次の方法で転送すると、パラメータが失われます.
www.itzhai.com/submit.action?url=/shopping/confirm.action?id=1&name=itzhai;
パラメータを正常に伝達するために、Base 64を使用してURLを符号化してから伝達し、受信してから復号することで、伝達されたURLを正しく取得することができます.基本コードは次のとおりです.
Jarパッケージの導入
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;

URLコード:
String url = "/shopping/confirm.action?id=1&name=itzhai";
String code = new String(Base64.encode(url.getBytes()));

このようにして得られるcodeは、
L3Nob3BwaW5nL2NvbmZpcm0uYWN0aW9uP2lkPTEmbmFtZT1pdHpoYWk=
その後、このコードを受け取ると、URLを復号することができます.
String url = new String(Base64.decode("L3Nob3BwaW5nL2NvbmZpcm0uYWN0aW9uP2lkPTEmbmFtZT1pdHpoYWk="));