導航:首頁 > 編程語言 > java編碼格式utf8

java編碼格式utf8

發布時間:2023-09-25 04:32:23

java如何把string轉為utf-8

java不同編碼之間進行轉換,都需要使用unicode作為中轉。

String str = "任意字元串";

str = new String(str.getBytes("gbk"),"utf-8");

備注說明:

str.getBytes("UTF-8"); 意思是以UTF-8的編碼取得位元組

new String(XXX,"UTF-8"); 意思是以UTF-8的編碼生成字元串飢沖

舉例:

public static String getUTF8XMLString(String xml) {

// A StringBuffer Object

StringBuffer sb = new StringBuffer();

sb.append(xml);

String xmString = "";

String xmlUTF8="";

try {

xmString = new String(sb.toString().getBytes("UTF-8"));

xmlUTF8 = URLEncoder.encode(xmString, "UTF-8");

System.out.println("utf-8 編碼:" + xmlUTF8) ;

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// return to String Formed

return xmlUTF8;

(1)java編碼格式utf8擴展閱讀:

UTF-8編碼規則:

如果只有一個位元組則其最高二進制位為0;如果是多位元組,其第一個位元組從最高位開始,連續的二進制位值為1的個數決定了其編碼茄肢頌的位元組數,其餘各位元組均以10開頭。

實際表示ASCII字元的UNICODE字元,將會編碼成1個位元組,並且UTF-8表示與ASCII字元表示是一樣的。所有其他的UNICODE字元轉化成UTF-8將需要至少2個位元組。每個位元組由一個換碼序列開始。第一個位元組由唯一的換碼序列,由n位連續的1加一位0組成,首位元組連續的1的個數表示字元編碼所需的位元組數。

Unicode轉換為UTF-8時,可以將Unicode二進制從低位往高位取出二進制數字,每次取6位,如上顫鄭述的二進制就可以分別取出為如下示例所示的格式,前面按格式填補,不足8位用0填補。

❷ java實現將文件格式轉換為UTF-8

問題描述不知道是不是需要改這個:
文件編碼轉換方法:ant

build.xml

代碼

<project name="encoding" default="build">

<target name="build">

< todir="e:/output" outputencoding="GBK">

<fileset dir=".">

<include name="**/*.html"/>

</fileset>

</>

</target>

</project>

先把源代碼全部用GBK格式拷貝到e:/output,然後再把output中的所有文件拷貝到原先的地方就可以。

html內容顯示編碼:
<meta http-equiv="content-type" content="text/html; charset=「utf-8" />

❸ java如何判斷編碼是否是utf8編碼

UTF-8編碼規范及如何判斷文本是UTF-8編碼的
UTF-8的編碼規則很簡單,只有二條:
1)對於單位元組的符號,位元組的第一位設為0,後面7位為這個符號的unicode碼。因此對於英語字母,UTF-8編碼和ASCII碼是相同的。
2)對於n位元組的符號(n>1),第一個位元組的前n位都設為1,第n+1位設為0,後面位元組的前兩位一律設為10。剩下的沒有提及的二進制位,全部為這個飢銷符號的unicode碼。
根據以上說明下面給出一段java代碼判斷UTF-8格式
/**
*UTF-8編碼格式判斷
*
*@paramrawtext
*需要分析的數據
*@return是否為UTF-8編碼格式
*/
publicstaticbooleanisUTF8(byte[]rawtext){
intscore=0;
inti,rawtextlen=0;
intgoodbytes=0,asciibytes=0;
神肢鉛//MaybealsouseUTF8ByteOrderMark:EFBBBF
//
rawtextlen=rawtext.length;
for(i=0;i<rawtextlen;i++){
if((rawtext[i]&(byte)0x7F)==rawtext[i]){
//最高位是0的ASCII字元
asciibytes++;
//IgnoreASCII,canthrowoffcount
}elseif(-64<=rawtext[i]&&rawtext[i]<=-33
游好//-0x40~-0x21
&&//Twobytes
i+1<rawtextlen&&-128<=rawtext[i+1]
&&rawtext[i+1]<=-65){
goodbytes+=2;
i++;
}elseif(-32<=rawtext[i]
&&rawtext[i]<=-17
&&//Threebytes
i+2<rawtextlen&&-128<=rawtext[i+1]
&&rawtext[i+1]<=-65&&-128<=rawtext[i+2]
&&rawtext[i+2]<=-65){
goodbytes+=3;
i+=2;
}
}
if(asciibytes==rawtextlen){
returnfalse;
}
score=100*goodbytes/(rawtextlen-asciibytes);
//Ifnotabove98,
//Allowsforsome(few)badformedsequences
if(score>98){
returntrue;
}elseif(score>95&&goodbytes>30){
returntrue;
}else{
returnfalse;
}

另外對於正規的文本文件來說UTF-8的文件開頭有3個位元組來標識該文本是UTF-8編碼
EF,BB,BF三個位元組
但通常不採用以下這種方案因為許多文件不標准
(byte[]b)
{
if(b!=null&&b.length>3)
{
byteutf8[]={(byte)0xEF,(byte)0xBB,(byte)0xBF};
if((b[0]==utf8[0])&&(b[1]==utf8[1])&&(b[2]==utf8[2]))
returntrue;
}
returnfalse;
}

❹ java輸出utf8編碼

給你一點提示:
import java.net.URLEncoder;
yourNewString = URLEncoder.encode(yourString, "UTF-8");

同樣,解碼就把以上都變成Decoder
我這個是內置包,最簡單的方法了,你先試一下吧

❺ java 怎麼gbk轉碼utf-8

方法一:

思路:先轉為Unicode,然後轉為GBK
Stringutf8=newString(t.getBytes("UTF-8"));
System.out.println(utf8);
Stringunicode=newString(utf8.getBytes(),"UTF-8");
System.out.println(unicode);
Stringgbk=newString(unicode.getBytes("GBK"));

System.out.println(gbk);

方法二:

publicstaticvoidmain(String[]args){
Stringstr="字元串編碼轉換";
try{
byte[]temp=str.getBytes("utf-8");//這里寫原編碼方式
byte[]newtemp=newString(temp,"utf-8").getBytes("gbk");//這里寫轉換後的編碼方式
StringnewStr=newString(newtemp,"gbk");//這里寫轉換後的編碼方式
System.out.println(newStr);
}catch(UnsupportedEncodingExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}

❻ java怎麼設置為utf-8的編碼

要讓一個
Java
源文件打開時編碼格式為
UTF-8,需要做2件事情:
1)設置Java
源文件的默認編碼格式為UTF-8;
2)設置workspace的編碼格式為UTF-8。
相應設置如下:
設置
Java
源文件的默認編碼格式為
UTF-8

Windows->Preference
頁面中,選擇
General->Content
Types
在右邊的框中,選擇
Text->Java
Source
File,將下面的
Default
Encoding
改為
UTF-8
設置
workspace
的編碼格式為
UTF-8

Windows->Preference
頁面中,選擇
General->WorkSpace
選擇右側框中的
Text
File
encoding,改為
UTF-8
設置完這2處,默認打開
Java
源文件就是UTF-8編碼了。

❼ java中GBK編碼格式轉成UTF8,用一段方法實現怎麼做

java中GBK編碼格式轉成UTF8編碼格式的方法如下:

publicstaticvoidmain(String[]args)throwsThrowable{
StringerrStr="errStr";
System.out.println(recover(errStr));
}
publicstaticStringrecover(Stringstr)throwsThrowable{
returnnewString(str.getBytes("GBK"),"UTF-8");
}

其中errStr就是亂碼字元串,按照相反的順序在編碼蘆喊(用gbk)、解碼(用utf-8)回去,就能得到正確的字元串.
GBK、UTF-8是一種「編碼格式」,是用來序列化或存儲「編號(數字含族)」的一種「格式」;GBK和UTF-8都是用來序列化或存儲unicode編碼的數據的,但是分別是2種不同的格式; 除了格式不一樣之外,所關談嘩弊心的unicode編碼范圍也不一樣,utf-8考慮了很多種不同國家的字元,涵蓋整個unicode碼表,所以其存儲一個字元的編碼的時候,使用的位元組長度也從1位元組到4位元組不等;而GBK只考慮中文——在unicode中的一小部分——的字元,的編碼,所以算好了只要2個位元組就能涵蓋到絕大多數常用中文(2個位元組能表示6w多種字元),所以存儲一個字元的時候,所用的位元組長度是固定的;

閱讀全文

與java編碼格式utf8相關的資料

熱點內容
dedecmsphp文件修改 瀏覽:533
貸款解壓省內都可以辦理嗎 瀏覽:467
思科伺服器如何發布www任務 瀏覽:682
怎麼在蘋果裡面下王者安卓版的 瀏覽:686
c語言改編程序沒保存 瀏覽:437
msdos編譯教程 瀏覽:978
怎麼去文件夾後綴 瀏覽:445
粉筆app筆試真題在哪裡 瀏覽:108
晉江小說閱讀app怎麼注冊填寫驗證 瀏覽:157
安卓手機如何將手機app安裝到u盤 瀏覽:520
指針編譯在哪運行 瀏覽:810
dnf大槍壓縮補丁 瀏覽:355
linux命令env 瀏覽:914
浙江app遙控鎖哪裡有 瀏覽:708
qq別人加密了怎樣才能給他解開 瀏覽:253
程序員離職開店 瀏覽:770
excel不能對多重區域使用此命令 瀏覽:969
手機影像演算法盤點 瀏覽:729
反編譯為什麼不能得到源代碼 瀏覽:926
php最流行的框架 瀏覽:191