我的java应用程序使用base64编码,它在每76个字符之后放一个新行(\n
)。我需要将这个编码的字符串放在属性文件中,换行符破坏了功能。
当我做encodedString.replaceAll("\n", "");
时,事情会很好,但我只想确保这是预期的,而不是引入一个隐藏的问题。
发布于 2013-11-19 07:51:01
对于许多无法处理长行的旧程序来说,将base64编码的字符串拆分为多行是必要的。用Java编写的程序通常可以处理长行,因为它们不需要自己进行内存管理。只要你的行短于6400万字符,就不会有问题。
由于您不需要换行符,所以如果可能的话,您不应该生成它们。
发布于 2016-06-09 19:50:11
一些Base64编码器将诸如CRLF ('\r\n')之类的EOL字符附加到编码的字符串中。您可以使用Base64.encodeBase64URLSafe来消除它们:
使用base64算法的URL安全变体对二进制数据进行编码,但不对输出进行块处理。url安全的变体发出-和_而不是+和/字符。注:不添加填充物。
发布于 2020-09-10 07:39:00
--您只需按照以下方式使用Base64编码:
Base64.encodeBase64String("Your data to encrypt in base64")
随下面的行的变化
Base64.encodeBase64String("Your data to encrypt in base64",Base64.NO_WRAP)
--这将解决你的问题.
https://stackoverflow.com/questions/19952621
复制相似问题