⑴ 〈java〉怎麼精確判斷讀取的任意文本的編碼格式utf-i8, unicode,ansi等
new String(a.getBytes("ISO-8859-1"),"GB2312")
以單位元組編碼方式獲取字元串流, 然後轉中文格式,或者
new String(a.getBytes("ISO-8859-1"),"UTF-8")
GBK是中國的解析字元標准,UTF-8是世界標准
⑵ java中編碼與解碼分別指什麼
java中編碼:URLEncoder.encode(strUri,"utf-8");
java中解碼碼:URLDecoder.decode(strUri,"utf-8");
⑶ 如何解決java編譯時編碼問題造成的錯誤
Java源碼文件這些文件可以是任意字元編碼的,在Java的Class文件里存儲的字元串是UTF-8編碼的,所以如果在代碼中有中文字元的話,就會導致亂碼。當然,這只是眾多原因中的一種,所以把編碼設置統一是避免出現亂碼的解決辦法。
工具:
eclipse
方法如下:
點擊window--Preferences
附:也可以選擇Other,從Other中選擇程序需要的編碼格式。
⑷ java 怎麼判斷編碼是utf-8 還是gbk
你是要判斷字元還是判斷文件的編碼,若是字元:
String
str="123456";
String
type
=
"utf-8";
//更換這里進行其他編碼判斷
try
{
if
(str.equals(new
String(str.getBytes(type
),
type
)))
{
return
type;
}
}
catch
(Exception
e)
{
}
如果是文件,麻煩一些,可以使用一個開源項目cpdetector,這個我也沒用過,你自己查一下吧
⑸ java判斷文件編碼格式 怎麼判斷編碼格式
UTF-8編碼的文本文檔,有的帶有BOM (Byte Order Mark, 位元組序標志),即0xEF, 0xBB, 0xBF,有的沒有。Windows下的txt文本編輯器在保存UTF-8格式的文本文檔時會自動添加BOM到文件頭。在判斷這類文檔時,可以根據文檔的前3個位元組來進行判斷。然而BOM不是必需的,而且也不是推薦的。對不希望UTF-8文檔帶有BOM的程序會帶來兼容性問題,例如Java編譯器在編譯帶有BOM的UTF-8源文件時就會出錯。而且BOM去掉了UTF-8一個期望的特性,即是在文本全部是ASCII字元時UTF-8是和ASCII一致的,即UTF-8向下兼容ASCII。
在具體判斷時,如果文檔不帶有BOM,就無法根據BOM做出判斷,而且IsTextUnicode API也無法對UTF-8編碼的Unicode字元串做出判斷。那在編程判斷時就要根據UTF-8字元編碼的規律進行判斷了。
UTF-8是一種多位元組編碼的字元集,表示一個Unicode字元時,它可以是1個至多個位元組,在表示上有規律:
1位元組:0xxxxxxx
2位元組:110xxxxx 10xxxxxx
3位元組:1110xxxx 10xxxxxx 10xxxxxx
4位元組:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
這樣就可以根據上面的特徵對字元串進行遍歷來判斷一個字元串是不是UTF-8編碼了。
舉例代碼:
java.io.File f=new java.io.File("待判定的文本文件名");
try{
java.io.InputStream ios=new java.io.FileInputStream(f);
byte[] b=new byte[3];
ios.read(b);
ios.close();
if(b[0]==-17&&b[1]==-69&&b[2]==-65)
System.out.println(f.getName()+"編碼為UTF-8");
else System.out.println(f.getName()+"可能是GBK");
}catch(Exception e){
e.printStackTrace();
}
⑹ java 如何判斷字元串編碼格式
給你搜索了下,這個比較全的編碼轉換類:2java.net/doc/1004/code2014190.html
⑺ java怎麼獲取文件編碼格式
沒錯,就這樣做,文件格式和文件內容,不是這樣的。
普通文件,開始就是文件內容了。
有編碼的,開頭先是編碼的定義,正如判斷語句所寫的那樣
⑻ JAVA 編碼 這是什麼編碼
編碼就是對已有的數據進行安全重編譯,比如說對於一個String字元串應用MD5加密 就會出現這種情況,比如字元串123456應用MD5加密編碼就會變成gdyb21LQTcIANtvYMT7QVQ== 還有時候是為了程序前端和後端保持一致的對字元串的處理方式,因為同一個字元串,一旦前、後端處理編碼不一致就會出現亂碼,就會把漢子變成亂碼輸出。像你想把手機號編碼成這種亂碼 ,最好就是應用MD5加密
⑼ java如何判斷txt文件是ansi編碼
下載一個記事本增強軟體notepad2
用它來打開文本,在「文件」菜單中有子級菜單「編碼」,可以非常方便地查看到文本編碼類型,支持的編碼類型有:
ANSI
Unicode
Unicode Big Endian
UTF-8