不廢話,直接代碼.這也算是一種學習總結吧!
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/