不废话,直接代码.这也算是一种学习总结吧!
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/
转载于:https://blog.51cto.com/wwpstl/1793845