前一段日子,我在做rsa加密和通过http get方式获取验证码图片通过BitmapFactory创建bitmap 出现了一系列的问题. 通过一系列的调试,发现有些问题原来是在进行String 与Byte[]之间转换造成的. 哎,android新手伤不起啊..... java 默认String在内存中的编码是ucs-2编码.当你要把byte[]转换成String时,这里就涉及到了 编码转换的问题,假如你不指定byte[]里面的编码,那可能在转换后会有问题.假如你没有指定 byte[]里面所用到的…
第一种:原始乱码: public static void main(String[] args) throws IOException { File imgFile = new File("d:\\1.jpg"); FileInputStream fis = new FileInputStream( imgFile ); byte[] bytes = new byte[fis.available()]; fis.read(bytes); fis.close(); String imgS…
我们在 Java 中经常会碰到如何把 InputStream 转换成 String 的情形,比如从文件或网络得到一个 InputStream,需要转换成字符串输出或赋给别的变量. 未真正关注这个问题之前我常用的办法就是按字节一次次读到缓冲区,或是建立 BufferedReader 逐行读取.其实大可不必费此周折,我们可以用 Apache commons IOUtils,或者是 JDK 1.5 后的 Scanner,还可用 Google  Guava 库的 CharStreams.到了 JDK7,…
我们在 Java 中经常会碰到如何把 InputStream 转换成 String 的情形,比如从文件或网络得到一个 InputStream,需要转换成字符串输出或赋给别的变量. 未真正关注这个问题之前我常用的办法就是按字节一次次读到缓冲区,或是建立 BufferedReader 逐行读取.其实大可不必费此周折,我们可以用 Apache commons IOUtils,或者是 JDK 1.5 后的 Scanner,还可用 Google  Guava 库的 CharStreams.到了 JDK7,…
String转byte[] byte[] sInput = new byte[0]; try { // 可以指定编码,默认也只UTF-8 sInput = "这是内容".getBytes("UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } byte[]转String // 这里sInput是上面byte[],也是可以指定编码,默认也是UTF-8 String str…
C# Byte[] 转String 无损转换 转载请注明出处 http://www.cnblogs.com/Huerye/ /// <summary> /// string 转成byte[] /// </summary> /// <param name="hexString"></param> /// <returns>byte[]</returns> private byte[] strToToHexByte(s…
最近的项目中要使用到把byte[]类型转换成String字符串然后通过网络发送,但发现发现出去的字符串和获取的字符串虽然是一样的,但当用String的getBytes()的方法得到的byte[]跟原来的byte[]是不一样的. 看如下代码: bytebytes[] = new byte[] { 50, 0, -1, 28, -24 }; String string = new String(bytes); byte[] ret = string.getBytes(); 查看ret的数据发现是50…
golang string和[]byte的对比 为啥string和[]byte类型转换需要一定的代价?为啥内置函数copy会有一种特殊情况copy(dst []byte, src string) int?string和[]byte,底层都是数组,但为什么[]byte比string灵活,拼接性能也更高(动态字符串拼接性能对比)?今天看了源码探究了一下.以下所有观点都是个人愚见,有不同建议或补充的的欢迎emial我aboutme 何为string? 什么是字符串?标准库builtin的解释: typ…
string与byte[](UTF-8) //string to byte[] string str = "abc中文"; //0x61 0x62 0x63 0xE4 0xB8 0xAD 0xE6 0x96 0x87 byte[] bytes = Encoding.UTF8.GetBytes(str); //byte[] to string //abc中文 str = Encoding.UTF8.GetString(bytes); string与byte[](ASCII) //stri…
public static String byte2HexString(byte[] b){ String ret = ""; ;i<b.lenght;i++){ String hex = Integer.toHexString(b[i]&0XFF); ){ hex = '+hex; } ret+=hex.toUpperCase(); } return ret; } 1  1个字节8位 1个BYTE与上2个hex字符 1 个HEX字符4位 2 Integer.toHexS…