編輯:關於Android編程
今天在項目裡面要把16進制的字符串轉換為中文,但是轉換的都是亂碼,後來又把轉換函數放在java項目裡面能夠正常轉換,一般出現亂碼第一想到的就是編碼方式,我之前一直是用的utf-8,查了資料,看見有人說utf-8沒有起作用,要用GB2312,我換了一下,果然有效。代碼如下:
package com.quickpasslibrary.utils;
import java.io.ByteArrayOutputStream;
/**
* 進制之間的轉換
* @author jwzhangjie
*
*/
public class HexadecimalConver {
private static String hexString="0123456789ABCDEF";
public static String toStringHex(String s){
byte[] baKeyword = new byte[s.length()/2];
for(int i = 0; i < baKeyword.length; i++){
try{
baKeyword[i] = (byte)(0xff & Integer.parseInt(s.substring(i*2, i*2+2),16));
}catch(Exception e){
e.printStackTrace();
}
}
try{
s = new String(baKeyword, "GB2312");
}catch (Exception e1){
e1.printStackTrace();
}
return s;
}
/**
* 將字符串編碼成16進制數字,適用於所有字符(包括中文)
*/
public static String encode(String str){
//根據默認編碼獲取字節數組
byte[] bytes=str.getBytes();
StringBuilder sb=new StringBuilder(bytes.length*2);
//將字節數組中每個字節拆解成2位16進制整數
for(int i=0;i>4));
sb.append(hexString.charAt((bytes[i]&0x0f)>>0));
}
return sb.toString();
}
/**
* 將16進制數字解碼成字符串,適用於所有字符(包括中文)
*/
public static String decode(String bytes)
{
ByteArrayOutputStream baos=new ByteArrayOutputStream(bytes.length()/2);
//將每2位16進制整數組裝成一個字節
for(int i=0;i
Android開發學習 之 四、Activity
四、Activity 4.1 Activity Activity是應用程序的入口。負責創建才窗口(setContextView(View)),和用戶交互等。 4.1.
Android4.4 Framework分析——Android默認Home應用Launcher3的加載過程分析
本文主要介紹Android4.4默認Home應用Launcher3的啟動過程和Launcher3的數據加載過程。Launcher的啟動是開機時,ActivityManag
Volley,小並發網絡請求的好幫手
不得不說,當不了解一件事情的時候,就會像當然的認為,其很神秘。但是當真正的接觸到了這些神秘的item,就不會有這種感覺了。作為一個android開發新手的我,剛接觸到了V
android系統cpu資源相關查詢
android系統cpu資源相關查詢 我們都知道android是基於linux系統內核的,在linux系統中我們查看系統資源消耗情況,一個可以直接通過命令行的
Android系統之路(初識MTK) ------ 默認第一次開機屏幕亮度/日期格式/picture makeer model
今天給大家分享下關於修改MTK平台下系統首次開機的默認屏幕背光亮度,系統