當前位置:首頁 » 編程語言 » java獲取編碼格式

java獲取編碼格式

發布時間: 2023-06-01 15:13:16

java 中如何查看字元串的編碼類型

可以通過以下方法來進行編碼格式判斷,輸入一個字元串,之後返回字元串編碼類型。
public static String getEncoding(String str) {
String encode = "GB2312";
try {
if (str.equals(new String(str.getBytes(encode), encode))) { //判斷是不是GB2312
String s = encode;
return s; //是的話,返回「GB2312「,以下代碼同理
}
} catch (Exception exception) {
}
encode = "ISO-8859-1";
try {
if (str.equals(new String(str.getBytes(encode), encode))) { //判斷是不是ISO-8859-1
String s1 = encode;
return s1;
}
} catch (Exception exception1) {
}
encode = "UTF-8";
try {
if (str.equals(new String(str.getBytes(encode), encode))) { //判斷是不是UTF-8
String s2 = encode;
return s2;
}
} catch (Exception exception2) {
}
encode = "GBK";
try {
if (str.equals(new String(str.getBytes(encode), encode))) { //判斷是不是GBK
String s3 = encode;
return s3;
}
} catch (Exception exception3) {
}
return ""; //如果都不是,說明輸入的內容不屬於常見的編碼格式。
}

Ⅱ java中介面編碼格式不同怎麼轉換

先用String s1=new String( s.toString().getBytes("gbk"),"gb2312");x0dx0a再用String s2=new String( s.toString().getBytes("UTF-8"),"gbk");x0dx0a x0dx0a如果還是不行就是action的提交方式限制編碼方式

Ⅲ java如何獲取正確的字元編碼

如果是修改文件的編碼方式,可以按以下步驟:
選中文件右鍵-->Properties-->Resource-->Text file encoding-->選中Other,然後選擇自己想要的編碼格式就可以了。
如果是修改MyEclipse的編碼方式,可以按以下步驟:
菜單欄的Window-->Perferences-->General-->Work Space-->Text file encoding-->選中Other,然後選擇自己想要的編碼格式就可以了。

Ⅳ java怎麼獲取txt文件編碼格式

文件頭,有編碼格式信息的,讀出來,判斷
一下

(fs[0]
==
0xEF
&&
fs[1]
==
0xBB
&&
fs[2]
==
0xBF)
是UTF-8的

Ⅳ java 將編碼格式為utf-8的文件內容以 GBK編碼存到txt文檔

默認Java轉換GBK格式的可以通過提供的轉換類來實現,示例如下:

如果直接把Java源代碼復制到Eclipse中所有的中文信息都出現亂碼。將文本文件的編碼格式從GBK轉UTF-8的方式有很多,
比較早以前我處理方式都是自己寫程序,從文本文件中用GBK編碼讀取數據,轉為String類型,然後通過UTF-8編碼重新寫入文本文件實現轉碼,現在經常使用ApacheCommon組件,用commons-io.jar實現文件的
讀取和寫入,代碼如下:
//GBK編碼格式源碼路徑
StringsrcDirPath="D:\dev\workspace\masdev\mas\src";
//轉為UTF-8編碼格式源碼路徑
Stringutf8DirPath="D:\UTF8\src";

//獲取所有java文件
CollectionjavaGbkFileCol=FileUtils.listFiles(newFile(srcDirPath),newString[]{"java"},true);

for(FilejavaGbkFile:javaGbkFileCol){
//UTF8格式文件路徑
Stringutf8FilePath=utf8DirPath+javaGbkFile.getAbsolutePath().substring(srcDirPath.length());
//使用GBK讀取數據,然後用UTF-8寫入數據
FileUtils.writeLines(newFile(utf8FilePath),"UTF-8",FileUtils.readLines(javaGbkFile,"GBK"));
}

Ⅵ 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編碼問題,GBK轉化為UTF-8

首先理解java的字元概念
java中字元串皮大是字元的序列,虛擬機內部的字元都是16位的unicode字元,等價於C++中的WCHAR,也是為了實現虛擬機方便

WCHAR叫做寬字元,對應的MuitiChar叫做多字元,這種多字元中字銷褲符的位數不唯一

GBK 和 UTF8 是多字元的不同編碼形式

s=new String(s.getBytes("gbk"),"utf-8");
的意思是:
byte[] bytes=s.getBytes("gbk");
s=new String(bytes,"utf-8");

第一句是將s對應的gbk編碼轉出來,形成一個字虧握簡節流
第二句是將這個位元組流按照utf-8編碼轉為java字元串,因此相當於將gbk編碼的位元組流當做utf-8來使用,這樣在中文中會出現亂碼

你的問題是,介面返回的已經是utf-8 所以它必須是byte[] 流,如果是字元串的話就不好辦了

Ⅷ 怎麼 知道 java字元串 編碼格式

這樣的測試方法是不正確的。getBytes(charset)是解碼,new String(byte[], charset)是編碼。new String(str.getBytes(charset),charset)是解碼再編碼,無論charset是什麼編碼格式,返回的字元串內容原始str是一致,因此equals方法都是返回true,達不到測試字元串編碼格式的目的。個人觀點:正確的測試姿勢應該是這樣的:

Stringcharset="xxx";//假定編碼格式
Stringstr="中文";
booleanflag=str.equals(newString(str.getBytes(),charset));

flag為true則表明str的編碼格式是假定的編碼格式。其中說明str.getBytes()該方法就是按其自身編碼格式去解碼。其自身編碼格式跟你的操作系統編碼格式或你使用的IDE設置的文件的Text file encoding有關。

Ⅸ java 如何列印編碼格式

你的意思是獲取編碼方式吧
System.getProperty("file.encoding");//獲取java環境默認編碼
System.setProperty("file.encoding", "utf-8");//設置java環境默認編碼
request.getCharacterEncoding();//JSP獲取客戶端請求的編碼
request.setCharacterEncoding("utf-8");//JSP設置客戶端請求的編碼
response.getCharacterEncoding();//JSP設置伺服器端應答的編碼
response.setCharacterEncoding("UTF-8");//JSP設置伺服器端應答的編碼

Ⅹ java怎麼獲取文件編碼格式

沒錯,就這樣做,文件格式和文件內容,不是這樣的。

普通文件,開始就是文件內容了。

有編碼的,開頭先是編碼的定義,正如判斷語句所寫的那樣

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:333
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:374
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:609
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:30
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:104
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:940
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:736
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:800
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:507
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:369