\n
私のJavaアプリケーションは、 76文字ごとに改行()を置くbase64エンコーディングを使用しています。このエンコードされた文字列をプロパティ ファイルに入れる必要があり、改行によって機能が損なわれます。
私が行うと、encodedString.replaceAll("\n", "");
問題なく動作しますが、これが予期されていることを確認したいだけで、隠れた問題が発生していません。
長い行を処理できない多くの古いプログラムでは、base64 でエンコードされた文字列を複数の行に分割する必要がありました。Java で作成されたプログラムは、メモリ管理を自分で行う必要がないため、通常、長い行を処理できます。行が 6,400 万文字未満であれば問題ありません。
また、改行は必要ないため、可能であれば改行をまったく生成しないでください。
Base64 エンコーダーの中には、CRLF ('\r\n') などの EOL 文字をエンコードされた文字列に追加するものがあります。Base64.encodeBase64URLSafeを使用してそれらを取り除くことができます:
base64 アルゴリズムの URL セーフ バージョンを使用してバイナリ データをエンコードしますが、出力をチャンクしません。URL セーフのバリエーションでは、+ および / 文字の代わりに - および _ が生成されます。注: パディングは追加されません。