• 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);
    }

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

  • 相关阅读:
    scrapy 随机UserAgent
    Scrapy使用中间件捕获Spider抛出的异常
    10.16-arrarylist
    10.15_package_2
    10.14_package_1
    10.13_enum_2
    10.12-enum_1
    10.11-java的接口2
    10.10-3对象和类_动手动脑-java的接口
    10.9-java的封装
  • 原文地址:https://www.cnblogs.com/yaomajor/p/6293906.html
Copyright © 2020-2023  润新知