• Base64编码密钥时关于换行的几个问题。


    在windows下一个javaweb应用,需要用http传递公钥pk。
    一般是
    String pk = BASE64ENCODER.encode(pkBytes);
    base64编码时,每76个字母就要换行。
    那么pk就应该是

    PHBrZD5NSUlCcGpDQ0FSc0dDU3FHU0liM0RRRURBVENDQVF3Q2dZRUEvWDlUZ1IxMUVpbFMzMHFj
    THV6azUvWVJ0MUk4NzBRQXd4NC9nTFpSDQpKbWxGWFVBaVVmdFpQWTFZK3IvRjlib3c5c3ViVld6
    4dnFoUmtJbW9

    这样的吧

    如果我直接在jsp文件输出这个<%=pk%>或者写到xml中,没啥问题。
    后来我改成用Spring的MarshallingHttpMessageConverter,注入org.springframework.oxm.castor.CastorMarshaller
    然后就变成了

    PHBrZD5NSUlCcGpDQ0FSc0dDU3FHU0liM0RRRURBVENDQVF3Q2dZRUEvWDlUZ1IxMUVpbFMzMHFj&#xd;
    THV6azUvWVJ0MUk4NzBRQXd4NC9nTFpSDQpKbWxGWFVBaVVmdFpQWTFZK3IvRjlib3c5c3ViVld6&#xd;
    4dnFoUmtJbW9

    注意最后是&#xd;
    在unmarshall的时候就把换行给换成了空格。

    PHBrZD5NSUlCcGpDQ0FSc0dDU3FHU0liM0RRRURBVENDQVF3Q2dZRUEvWDlUZ1IxMUVpbFMzMHF THV6azUvWVJ0MUk4NzBRQXd4NC9nTFpSDQpKbWxGWFVBaVVmdFpQWTFZK3IvRjlib3c5c3ViVld6 4dnFoUmtJbW9

    那么pk就变了。

    以上算是个背景。

    问题: 1.base64编码(sun.misc.BASE64Encoder)编出来的换行都是 么? 还是说因为我是winodws系统所以是 ?

    2.

    public static void main(String[] args) {
    String a="abcd
    efgh
    jkl
    mndf";
    System.out.println(a);
    }

    悲催的表示 , , 都可以换一行,这肿么办。 是换两行。 一般对于换行的情况都是怎么解决的?

  • 相关阅读:
    __proto__、prototype、constructor 之间的关系
    call()与apply()区别
    条件注释判断浏览器
    永远在页面底部的层
    jQuery1.9和jQuery2.0加载(IE10下条件判断失效)
    mousewheel
    2013多校第四场 G题 ZZ的搬砖难题
    hdu 4389 x mod f(x) 数位DP
    hdu 4468 spy 构造kmp
    hdu 4466 triangle 三角形统计 数学计数
  • 原文地址:https://www.cnblogs.com/yaomajor/p/6293906.html
Copyright © 2020-2023  润新知