zoukankan      html  css  js  c++  java
  • java数据

    因为曾经干了啥事儿,才印象特别深刻。

    将byte存入String的后果

    String res = “”;

    res += (char) 0xc3;

    byte[] bytes = res.getBytes();

          这是曾经的一部分程序。习惯使用String,并在之前并没有遇到任何错误。但是这次遇到了。

    bytes里面不止一个byte,而是两个。这导致“数据异常”。

           原来,java中的char是2个字节。如果小于256,在获取字符串字节时,就被认为是一个byte,但是大于时,就被识别为2个字节。

           改进:后来,学习了解了ByteArrayOutputStream,用它来存取具有扩张性的字节数组,再好不过。

    ByteArrayOutputStream输出的编码问题

    ByteArrayOutputStream stream = new ByteArrayOutputStream();

    ……

    stream.toString();

             一般情况下,直接toString没有什么问题。但是,一旦byte位上超过127时,就可能出现多字节现象。

    问题: widows运行环境默认编码gbk。运行toString时,原本0xc3一个字节,编程了3个字节的内容。

    处理:指定编码——stream.toString(“utf-8”);

    好处:指定了编码后,就保证了唯一性。除非系统不支持,否则都不会有不同的结果出来。

    ------------------------------------------------------------------------------------------------------------------------------------------ 需要荷兰版牛栏、荷兰美素、母婴用品的攻城师、设计师朋友,欢迎关顾【七彩母婴店】【http://qicaoyun.taobao.com】。凡是从博客园得知信息的,全店商品,均可优惠,请告知客服哦。你也可以通过淘代码【D5867219】,在淘宝搜索到我们。收藏有礼哦!
  • 相关阅读:
    smartforms换页,
    smartforms初始化
    webdynpro 调用应用程序做跳转
    java-接口(新手)
    java -输入年龄判断是否符合范围。
    java-选中排序(新手)
    java -封装一个类。(姓名、年龄、性别)
    难以理解的一个排序方法-冒泡排序。(新手)
    java-乘法口诀表。(新手)
    java-随机点名2(新手)
  • 原文地址:https://www.cnblogs.com/javawer/p/3287478.html
Copyright © 2011-2022 走看看