zoukankan      html  css  js  c++  java
  • java String与Byte[]和String 与InputStream转换时注意编码问题。。。

    前一段日子,我在做rsa加密和通过http get方式获取验证码图片通过BitmapFactory创建bitmap

    出现了一系列的问题。

    通过一系列的调试,发现有些问题原来是在进行String 与Byte[]之间转换造成的。

    哎,android新手伤不起啊。。。。。

    java 默认String在内存中的编码是ucs-2编码。当你要把byte[]转换成String时,这里就涉及到了

    编码转换的问题,假如你不指定byte[]里面的编码,那可能在转换后会有问题。假如你没有指定

    byte[]里面所用到的编码,转换就会根据当前系统环境给你指定一个编码,在android系统中就会默认byte[]中的数据是

    用utf8编码的。在android中如果byte[]中的数据不是utf8编码,那么使用默认方式转换到String时,这时就造成转换后

    的数据出现了问题,再将出问题的String转换回byte[]时,同样会有问题。

    所以在获取一些不知道编码的二进制数据的时候,不要转换成String,在android中使用byte[],或者InputStream

    来存储,传输,处理二进制数据就行。

  • 相关阅读:
    1.18
    人月神话读后感
    疯狂学java的第45天
    学Java的第46天
    JAVA学习日记150720
    JAVA学习日记140719
    JAVA学习日记160721
    JAVA学习日记130718
    Windows DOS窗体下Oracle 数据库的导入导出(IMP/EXP)命令
    IntelliJ IDEA自动清除没用的import
  • 原文地址:https://www.cnblogs.com/lzl-sml/p/3497949.html
Copyright © 2011-2022 走看看