• Java又乱码了,怎么办;乱码了说明编码与解码不一致导致。所以使用统一的编码方式即可。
  • 本文并不是一定能解决乱码,本文主要用来了解jvm默认编码,以及string编码与解码一致性问题。
  1. jvm的默认编码

     System.out.println(System.getProperty("file.encoding"));
    // Eclipse的console:UTF-8

    file.encoding 属性由主程序启动时的是否设置默认编码有关,这会涉及【java -D 配置系统属性】。
    即若启动程序使用了 -Dfile.encoding=UTF-8,则执行获取jvm默认编码则为utf-8,若启动没有设置
    该参数,则file.encoding 属性就与操作系统的默认编码方式一致。
    1.1 通过eclipse执行得到 utf-8,这是由于eclipse在执行程序时,会自动加入-Dfile.encoding参数。
    1.2 直接使用终端直接执行java 启动执行main打印将会是OS的默认编码。

  2. string编码与解码

     byte[] sources = "欢迎进入程序员世界!".getBytes();
    System.out.println(new String(sources, "utf-8"));
    // console:欢迎进入程序员世界!

    getBytes() 无参方法是用jvm默认编码进行得到字节数组,若jvm默认编码也是utf-8 ,则不会乱码。

  3. 问题来了,若是得到一个byte[] ,没有对应的解码说明,如何对其进行编码显示。
    这个问题我是没解决,但是可以在代码中避免这个问题。

java的String的乱码浅析的更多相关文章

  1. Java中String和byte[]间的转换浅析

    Java语言中字符串类型和字节数组类型相互之间的转换经常发生,网上的分析及代码也比较多,本文将分析总结常规的byte[]和String间的转换以及十六进制String和byte[]间相互转换的原理及实 ...

  2. Java中String和byte[]间的 转换浅析

    Java语言中字符串类型和字节数组类型相互之间的转换经常发生,网上的分析及代码也比较多,本文将分析总结常规的byte[]和String间的转换以及十六进制String和byte[]间相互转换的原理及实 ...

  3. NDK(14)Native的char*和Java的String相互转换

    转自: http://www.cnblogs.com/canphp/archive/2012/11/13/2768937.html 首先确保C/C++源文件的字符编码是UTF-8与JAVA的class ...

  4. setLocale(java.util.Locale), setCharacterEncoding(java.lang.String),setContentType(java.lang.String type)

    对于setCharacterEncoding(java.lang.String),这个方法是javax.servlet.ServletRequest和javax.servlet.ServletResp ...

  5. AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)

    这篇分享一点个人AS开发java工程经验,虽然有时候还是得打开eclipse来运行java项目,但能用AS的时候还是尽量用AS,毕竟一个字,爽~ 废话不多说,进入正题. 一.开发Java工程 你有两种 ...

  6. 转:Java中String与byte[]的转换

    原文地址:http://blog.csdn.net/llwan/article/details/7567906 String s = "fs123fdsa";//String变量 ...

  7. String 源码浅析————终结篇

    写在前面 说说这几天看源码的感受吧,其实 jdk 中的源码设计是最值得进阶学习的地方.我们在对 api 较为熟悉之后,完全可以去尝试阅读一些 jdk 源码,打开 jdk 源码后,如果你英文能力稍微过得 ...

  8. Java 中 String 的构造方法

    String 对于所有 Java 程序员来说都不会陌生,几乎每天甚至每个程序都会和 String 打交道,因此将 String 的常用知识汇集在此,方便查阅. 概叙: Java 中是如此定义 Stri ...

  9. JAVA的中文字符乱码问题

    来源:http://luzefengoo.blog.163.com/blog/static/1403593882012754428536/ JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用 ...

随机推荐

  1. 使用VMware新建一个Linux系统虚拟机(全)

    我们将其分为两步,1:新建虚拟机:2:安装Red Hat Enterprse Linux 6操作系统 1.首先我们新建一个虚拟机,先不安装操作系统,稍后再对其安装Linux系统. 新建虚拟机步骤如下: ...

  2. Angular - - ng-focus、ng-blur

    1.ng-focus 这个指令功能就是比如当一个input等获取到焦点的时候,执行你指定的表达式函数,达到你需要的目的 格式:ng-focus=“value” value:获取焦点时执行的表达式,方法 ...

  3. js中的setTimeout第三个参数

    setTimeout跟setInterval大家应该都很熟悉的,但是一直很少注意,原来这两个函数可以支持第三个参数的,但是IE就呵呵了,仅IE(6-9)呵呵了,其他浏览器都支持的。 第三个参数将作为回 ...

  4. nginx优化参考

    参考链接:http://blog.sina.com.cn/s/blog_4f9fc6e10102uxib.html 计算访问路径频度 awk -r|more |grep /路径 ps print &a ...

  5. Mybatis 搭建遇到的坑

    1. <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC " ...

  6. JS类小功能

    工作中,总是要处理一些前端的小功能.都是网上搜的JS脚本 <script> //防止页面后退 history.pushState(null, null, document.URL); wi ...

  7. 剑指Offer 33. 丑数 (其他)

    题目描述 把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 题目地 ...

  8. L2-024. 部落(并查集)*

    L2-024. 部落 参考博客 #include<cstdio> #include<iostream> #include<set> #include<algo ...

  9. 第七十八课 最短路径(Dijkstra)

    核心思想是从已知的最短路径推算未知的最短路径. 添加程序: #ifndef GRAPH_H #define GRAPH_H #include "Object.h" #include ...

  10. testDecoration

    def count(): fs = [] for i in range(1,4): def f(): n=i*i return n fs.append(f) return fs c1,c2,c3 = ...