編輯:關於Android編程
android 通過EditText.getText().toString(),得到設備的名稱(devicename),android默認的編碼是utf-8,現在修改支持中文的名字,必須要對devicename字符串轉gbk或者gb2312,開始覺得字符串轉碼,本來就有接口:deviceName = new String(deviceName.getBytes(),"gb2312");這樣操作後打印是亂碼,通過http.post過去linux平台修改名字,還是亂碼,一直在想,怎麼android自帶字符串編碼轉換有問題麼,查了很多資料。
先查看編碼,用網頁post“哈哈”,用抓包工具,知道網頁發送gb2312編碼的”bac7bac7“,然後將devicename.getbyte()轉byte2hex,看是否跟網頁發送的字符一樣,發現是不一樣的。開始懷疑new String(deviceName.getBytes(),"gb2312")是不是不行,現在想的是怎樣將devicename編碼成”bac7bac7“,然後試了gbk,ios-8859-1等,都不行。
後來發現,這樣轉碼是不行的。
byte[] bb = null;
bb = deviceName.getBytes("gb2312");----》轉到16進制剛好是bac7bac7
deviceName = new String(bb,"gb2312"); ----打印呵呵,原來是要這樣轉碼的。
private static String byte2hex(byte [] buffer){
String h = "";
for(int i = 0; i < buffer.length; i++){
String temp = Integer.toHexString(buffer[i] & 0xFF);
if(temp.length() == 1){
temp = "0" + temp;
}
h = h + temp;
}
return h;
}
1.fragment1布局及代碼布局<?xml version=1.0 encoding=utf-8?><RelativeLayout
編譯時出現/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../..
Android系統提供了5中語言的語音合成German,English,Spanish,French,Italian支持,其中不包括對中文的支持,但是Android系統允
昨天給大家粗略的介紹了一下我那個簡單的項目:Android之基於XMPP協議即時通訊軟件(一) 從今天開始,就詳細展開的介紹設計思路,一是給自己做個總結,二