base64编码字符串的问题

时间:2022-02-23 19:02:25
读一个比较大的文件,返回一个base64编码的字符串,想在编码后的字符串中每70个字符就加一个换行,不知道有什么好的办法?

5 个解决方案

#1


不能,Base64用哪几个字符是定死的,你要加个换行符进去,解码时怎么办

#2


考虑一个折衷的方案把,比如解码后再还行等

#3


大侠们能解释一下base64是什么东东么,能做什么,在哪个类中,谢谢了。

#4


你自己再写一个对Base64编码之后的再编码就可以了呀!
如:InsertEnter(string base64Str),在其中就实现每70个字符就加入一个\n,
然后再写一个
DropEnter(string base64EnterStr),在其中实现每70个字符就去掉一个\n。

TO:AngelGavin(Gavin)
Base64是一种国际标准编码方式,如电子邮件的附件在传递时就是用base64进行编码的,其作用是将一切高位ASCII转换成低为ASCII码,这样就避免了一些引起歧义的字符。

#5


简单说就是把3bytes 二进制数据编码为 4bytes可见字符数据
Base64字符表 
0 A 17 R 34 i 51 z 
1 B 18 S 35 j 52 0 
2 C 19 T 36 k 53 1 
3 D 20 U 37 l 54 2 
4 E 21 V 38 m 55 3 
5 F 22 W 39 n 56 4 
6 G  23 X 40 o 57 5 
7 H  24 Y 41 p 58 6 
8 I 25 Z 42 q 59 7 
9 J 26 a 43 r 60 8 
10 K 27 b 44 s 61 9 
11 L 28 c 45 t 62 + 
12 M 29 d 46 u 63 / 
13 N 30 e 47 v     
14 O 31 f 48 w      
15 P 32 g 49 x     
16 Q 33 h 50 y   
还有一种可能出现的情况是,由原字符组成的总比特数目不一定能被正好的分组(即被6整除),这时就要用0补足,并在最后用“=”标注。例如未编码时, LOV 为“01001100 01001111 01010101”,分组后为“010011 000100 111101 010101”,编码后为“TE9V”;又如未编码时, LOVE为“01001100 01001111 01010101 01000101”,分组后为“010011 000100 111101 010101 010001 000001”(由于不足,前面补零),编码后为“TE9VRB==”。 

#1


不能,Base64用哪几个字符是定死的,你要加个换行符进去,解码时怎么办

#2


考虑一个折衷的方案把,比如解码后再还行等

#3


大侠们能解释一下base64是什么东东么,能做什么,在哪个类中,谢谢了。

#4


你自己再写一个对Base64编码之后的再编码就可以了呀!
如:InsertEnter(string base64Str),在其中就实现每70个字符就加入一个\n,
然后再写一个
DropEnter(string base64EnterStr),在其中实现每70个字符就去掉一个\n。

TO:AngelGavin(Gavin)
Base64是一种国际标准编码方式,如电子邮件的附件在传递时就是用base64进行编码的,其作用是将一切高位ASCII转换成低为ASCII码,这样就避免了一些引起歧义的字符。

#5


简单说就是把3bytes 二进制数据编码为 4bytes可见字符数据
Base64字符表 
0 A 17 R 34 i 51 z 
1 B 18 S 35 j 52 0 
2 C 19 T 36 k 53 1 
3 D 20 U 37 l 54 2 
4 E 21 V 38 m 55 3 
5 F 22 W 39 n 56 4 
6 G  23 X 40 o 57 5 
7 H  24 Y 41 p 58 6 
8 I 25 Z 42 q 59 7 
9 J 26 a 43 r 60 8 
10 K 27 b 44 s 61 9 
11 L 28 c 45 t 62 + 
12 M 29 d 46 u 63 / 
13 N 30 e 47 v     
14 O 31 f 48 w      
15 P 32 g 49 x     
16 Q 33 h 50 y   
还有一种可能出现的情况是,由原字符组成的总比特数目不一定能被正好的分组(即被6整除),这时就要用0补足,并在最后用“=”标注。例如未编码时, LOV 为“01001100 01001111 01010101”,分组后为“010011 000100 111101 010101”,编码后为“TE9V”;又如未编码时, LOVE为“01001100 01001111 01010101 01000101”,分组后为“010011 000100 111101 010101 010001 000001”(由于不足,前面补零),编码后为“TE9VRB==”。