不废话,直接代码.这也算是一种学习总结吧!
class test
{
public static void main (String[] args) throws java.lang.Exception
{
String a="我爱中国,\u6211\u7231\u4e2d\u56fd";
byte[] b=a.getBytes("UTF-8");
String res=new String(b ,"UTF-8");
System.out.println(res);
}
}
输出结果为:我爱中国,我爱中国.
Myeclipse背景修改
代码编辑界面默认颜色为白色。对于长期使用的人来说,白色很刺激我们的眼睛,所以改变workspace的背景色,可以使眼睛舒服一些。设置方法如下: 1、打开window / Preference,弹出Preference面板 2、展开General标签,选中Editors选项,展开。 3、选中 Text Editors,右边出现TestEditors面板。 面板中有这样一个选项:Appearance color options;其中是各种板块颜色的设置,其中有一项是background color,勾掉System Default,点击'color',弹出颜色选择面板,选择喜好的颜色,单击确定。注:背景颜色眼科专家推荐:色调85,饱和度,123,亮度205。文档都不再是刺眼的白底黑字,而是非常柔和的豆沙绿色,这个色调是眼科专家配置的,长时间使用会很有效的缓解眼睛疲劳保护眼睛。 4、返回Test Editors,单击Apply即可。展开Test Editors,还有其他选项,比如对错误提示的颜色样式,可根据需要尝试更改一下。 今天在调用百度api时发现返回的json数据中有unicode编码的字符串。于是上网查阅了资料。发现了一个方法能解决这个问题。代码如下: 1、未转码的情况下
package com.wwp.test; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URL; /** * * 百度api调用实例 * */ public class ApiDemo { /** * @param args */ public static String request(String httpUrl, String httpArg) { BufferedReader reader = null; String result = null; StringBuffer sbf = new StringBuffer(); httpUrl = httpUrl + "?" + httpArg; try { URL url = new URL(httpUrl); HttpURLConnection connection = (HttpURLConnection) url .openConnection(); connection.setRequestMethod("GET"); // 填入apikey到HTTP header connection.setRequestProperty("apikey", "自己的apikey值");//这里的第二个参数为自己的key connection.connect(); InputStream is = connection.getInputStream(); reader = new BufferedReader(new InputStreamReader(is, "UTF-8")); String strRead = null; while ((strRead = reader.readLine()) != null) { sbf.append(strRead); sbf.append("\r\n"); } reader.close(); result = sbf.toString(); } catch (Exception e) { e.printStackTrace(); } return result; } public static void main(String[] args) { // TODO Auto-generated method stub String httpUrl = "http://apis.baidu.com/apistore/idservice/id"; String httpArg = "id=420984198704207896"; String jsonResult = request(httpUrl, httpArg); System.out.println(jsonResult); }
输出如下:
public static String decodeUnicode(String theString) { char aChar; int len = theString.length(); StringBuffer outBuffer = new StringBuffer(len); for (int x = 0; x < len;) { aChar = theString.charAt(x++); if (aChar == '\\') { aChar = theString.charAt(x++); if (aChar == 'u') { // Read the xxxx int value = 0; for (int i = 0; i < 4; i++) { aChar = theString.charAt(x++); switch (aChar) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': value = (value << 4) + aChar - '0'; break; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': value = (value << 4) + 10 + aChar - 'a'; break; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': value = (value << 4) + 10 + aChar - 'A'; break; default: throw new IllegalArgumentException( "Malformed \\uxxxx encoding."); } } outBuffer.append((char) value); } else { if (aChar == 't') aChar = '\t'; else if (aChar == 'r') aChar = '\r'; else if (aChar == 'n') aChar = '\n'; else if (aChar == 'f') aChar = '\f'; outBuffer.append(aChar); } } else outBuffer.append(aChar); } return outBuffer.toString(); }
然后把主函数改成
public static void main(String[] args) { // TODO Auto-generated method stub String httpUrl = "http://apis.baidu.com/apistore/idservice/id"; String httpArg = "id=420984198704207896"; String jsonResult = request(httpUrl, httpArg); System.out.println(decodeUnicode(jsonResult)); }
输出结果变为
引用自:http://ruixiazun.blog.163.com/blog/static/906879182013112439117/