導航:首頁 > 編程語言 > java轉碼工具

java轉碼工具

發布時間:2023-03-23 15:48:18

java中編碼與解碼分別指什麼

java中編碼:URLEncoder.encode(strUri,"utf-8");

java中解碼碼:URLDecoder.decode(strUri,"utf-8");

⑵ 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中如何把漢字轉成這種編碼格式\u8BA8\u8BBA\u533A

最簡單的辦法就是使用apache commons lang的庫,http://commons.apache.org/proper/commons-lang/download_lang.cgi

下載commons-lang3-3.3.2-bin.zip,把裡面的commons-lang3.jar包含到classpath,通過StringEscapeUtils類來實現。

importorg.apache.commons.lang.StringEscapeUtils;

publicclassStringCodec{

publicstaticvoidmain(finalString[]args){
租派finalStringresult=StringEscapeUtils.escapeJava("漢字");
弊搜賀漏御System.out.println(result);
return;
}

}

⑷ java怎麼把utf-8的字元串轉換為gb2312格式

Java中字元串轉碼,根據實際運用的環境有以下三種方式

1、使用Java.lang.String

這是最常用的方法,先用對應編碼獲取位元組,然後重新構造新編碼,示例代碼如下:

Strings="清山";
byte[]b=s.getBytes("utf-8");//編碼
Stringsa=newString(b,"gb2312");//解碼:用什麼字元集編碼就用什麼字元集解碼

2、java.io.InputStreamReader/OutputStreamWriter:橋轉換

讀寫文件的應用中,可以使用這種方式,直接在IO流構造中轉換,示例代碼如下:

InputStreamis=newFileInputStream("C:/項目進度跟蹤.txt");//文件讀取
InputStreamReaderisr=newInputStreamReader(is,"utf-8");//解碼
OutputStreamos=newFileOutputStream("C:/項目進度跟蹤_gb2312.txt");//文件輸出
OutputStreamWriterosw=newOutputStreamWriter(os,"gb2312");//開始編碼

3、java.nio.Charset

使用nio中的Charset轉換字元,示例代碼如下:

CharsetinSet=Charset.forName("utf-8");//解碼字元集
CharsetoutSet=Charset.forName("gb2312");//編碼字元集
CharsetDecoderde=inSet.newDecoder();//解碼器
CharsetEncoderen=outSet.newEncoder();//編碼

⑸ JAVA里的編碼轉換,懂的進來看看!!!!!

c:\Java\jdk1.6.0_05\bin中有個native2ascii.exe文件局宴就是了
使用:在這個bin文件夾中有a.txt它的內容是漢字「你好」,在DOS提示符(環境變數要配置)或者進入bin目錄下輸入 native2ascii a.txt b.txt
然後bin文件夾里就生成b.txt,打開b.txt你會看櫻臘舉到/u4f60/脊碧u597d

反過來就是Unicode轉漢字

⑹ 請問JAVA程序里的\u624B\u6A5F\u6587\u672C\u95B1\u8B80\u5668...是何種編碼啊

http://wiki.keyin.cn/index.php/Unicode%E7%BC%96%E7%A0%81%E8%A1%A8
編碼表

unicode編碼

問:什麼是Unicode?
答:Unicode給每個字元提供了一個唯一的數字,不論是什麼平台,不論是什麼程序,不論什麼語言。Unicode標准已經被這些工業界的領導們所採用,例如:Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys和其它許多公司。最新的標准都需要Unicode,例如XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML等等,並且,Unicode是實現ISO/IEC 10646的正規方式。許多操作系統,所有最新的瀏覽器和許多其他產品都支持它。Unicode標準的出現和支持它工具的存在,是近來全球軟體技術最重要的發展趨勢。

問:為什麼使用Unicode?
答:基本上,計算機只是處理數字。它們指定一個數字,來儲存字母或其他字元。在創造Unicode之前,有數百種指定這些數字的編碼系統。沒有一個編碼可以包含足棗腔夠的字元:例如,單單歐州共同體就需要好幾種不同的編碼來包括所有的語言。即使是單一種語言,例如英語,也沒有哪一個編碼可以適用於所有的字母,標點符號,和常用的技術符號。這些編碼系統也會互相沖突。也就是說,兩種編碼可能使用相同的數字代表兩個不同的字元,或使用不同的數字代表相同的字元。任何一台特定的計算機(特別是伺服器)都需要支持許多不同的編碼,但是,不論什麼時候數據通過不同的編碼或平台之間,那些數據總會有損壞的危險。

問:舉個例子吧。
答:比如,簡體中文(GB)、繁體中文(BIG5)、日文中,「趙」都是一個字,但是編碼不同。在不同的編碼下,BIG5的趙是0xBBAF,而0xBBAF在GB裡面就被顯示為「化」,這就是亂碼。而Unicode采散塌用統一的編碼,「趙」只有一個,不必管他在哪種文字里。

問:Unicode的優點沖岩圓是什麼?
答:舉一個最明顯的例子就是Windows 2000/XP以及微軟Office2000及其後的產品。因為這些軟體都是Unicode內核,因此,無論何種文字,都可以在上面正常顯示,而且是同屏顯示。以前,簡體中文的Word文件拿到英文版打開就會是亂碼,簡體中文的程序在Windows英文版上運行會出現亂碼,而現在一切都解決了。

問:中國京劇戲考為什麼使用Unicode?
答:因為有些劇本中的生僻字,只在擴展字型檔或繁體字型檔中才有,有的甚至沒有。而Unicode不僅包含了所有常用字和大部分生僻字,而且因為其可擴展,在現在沒有的情況下,將來也是可以擴充的。例如最新的Unicode 4.0標准,較3.0增加了很多生僻字。目前有70207個漢字。再有一點就是Unicode在將來會取代現有的GBK及BIG5。

問:我如何能夠看到不是亂碼的劇本?
答:如果您閱讀PDF的格式,只需要有Adobe Reader即可。如果您是在網站上直接閱讀劇本,有時可能會出現亂碼,請查看菜單(或右鍵單擊劇本)中,選擇編碼,然後點Unicode (UTF-8) 即可。注意,有些字在早期的 Unicode 定義中還沒有,所以建議您閱讀PDF格式的劇本

⑺ java 如何將「你好」轉成UTF-8 「\u4F60\u597D」 這種編碼

這個是unicode碼,並不是UTF-8編碼,是統一碼,它為每種語言中的每個字元設嘩譽定了統一並且唯一的二進制編碼,以慎賣滿足跨語言、跨平台進行文本轉換、處理的要求。
處理方法如寬蘆逗下
public static String toUnicode(String s) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); ++i) {
if (s.charAt(i) <= 256) {
sb.append("\\u00");
} else {
sb.append("\\u");
}
sb.append(Integer.toHexString(s.charAt(i)));
}
return sb.toString();
}

public static void main(String[] args) {
String s = "你好";
System.out.println(toUnicode(s));
}

⑻ 急急急!!!java 用ffmpeg將上傳的視頻轉成 .mp4 .ogg .webm 3種格式的視頻,沒思路,麻煩大神給點思路

import java.io.File;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

public class ConvertVideo {

private final static String PATH = "c:\\ffmpeg\\input\\c.mp4";

public static void main(String[] args) {
if (!checkfile(PATH)) {
System.out.println(PATH + " is not file");
return;
}
if (process()) {
System.out.println("ok");
}
}

private static boolean process() {
int type = checkContentType();
boolean status = false;
if (type == 0) {
System.out.println("直接將文件轉為flv文件");
status = processFLV(PATH);// 直接將文件轉為flv文件
} else if (type == 1) {
String avifilepath = processAVI(type);
if (avifilepath == null)
return false;// avi文件沒有得到
status = processFLV(avifilepath);// 將avi轉為flv
}
return status;
}

private static int checkContentType() {
String type = PATH.substring(PATH.lastIndexOf(".") + 1, PATH.length())
.toLowerCase();
// ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
if (type.equals("avi")) {
return 0;
} else if (type.equals("mpg")) {
return 0;
} else if (type.equals("wmv")) {
return 0;
} else if (type.equals("3gp")) {
return 0;
} else if (type.equals("mov")) {
return 0;
} else if (type.equals("mp4")) {
return 0;
} else if (type.equals("asf")) {
return 0;
} else if (type.equals("asx")) {
return 0;
} else if (type.equals("flv")) {
return 0;
}
// 對ffmpeg無法解析的文件格式(wmv9,rm,rmvb等),
// 可以先用別的工具(mencoder)轉換為avi(ffmpeg能解析的)格式.
else if (type.equals("wmv9")) {
return 1;
} else if (type.equals("rm")) {
return 1;
} else if (type.equals("rmvb")) {
return 1;
}
return 9;
}

private static boolean checkfile(String path) {
File file = new File(path);
if (!file.isFile()) {
return false;
}
return true;
}

// 對ffmpeg無法解析的文件格式(wmv9,rm,rmvb等), 可以先用別的工具(mencoder)轉換為avi(ffmpeg能解析的)格式.
private static String processAVI(int type) {
List<String> commend = new ArrayList<String>();
commend.add("c:\\ffmpeg\\mencoder");
commend.add(PATH);
commend.add("-oac");
commend.add("lavc");
commend.add("-lavcopts");
commend.add("acodec=mp3:abitrate=64");
commend.add("-ovc");
commend.add("xvid");
commend.add("-xvidencopts");
commend.add("bitrate=600");
commend.add("-of");
commend.add("avi");
commend.add("-o");
commend.add("c:\\ffmpeg\\output\\a.avi");
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.start();
return "c:\\ffmpeg\\output\\a.avi";
} catch (Exception e) {
e.printStackTrace();
return null;
}
}

// ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
private static boolean processFLV(String oldfilepath) {

if (!checkfile(PATH)) {
System.out.println(oldfilepath + " is not file");
return false;
}

// 文件命名
Calendar c = Calendar.getInstance();
String savename = String.valueOf(c.getTimeInMillis())+ Math.round(Math.random() * 100000);
List<String> commend = new ArrayList<String>();
commend.add("c:\\ffmpeg\\ffmpeg");
commend.add("-i");
commend.add(oldfilepath);
commend.add("-ab");
commend.add("56");
commend.add("-ar");
commend.add("22050");
commend.add("-qscale");
commend.add("8");
commend.add("-r");
commend.add("15");
commend.add("-s");
commend.add("600x500");
commend.add("c:\\ffmpeg\\output\\a.flv");

try {
Runtime runtime = Runtime.getRuntime();
Process proce = null;
String cmd = "";
String cut = " c:\\ffmpeg\\ffmpeg.exe -i "
+ oldfilepath
+ " -y -f image2 -ss 8 -t 0.001 -s 600x500 c:\\ffmpeg\\output\\"
+ "a.jpg";
String cutCmd = cmd + cut;
proce = runtime.exec(cutCmd);
ProcessBuilder builder = new ProcessBuilder(commend);
builder.command(commend);
builder.start();

return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}

⑼ 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;

(9)java轉碼工具擴展閱讀:

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填補。

⑽ 如何把properties中的所有unicode編碼轉為漢字

命令行界面用native2ascii工具
1.將漢字轉為Unicode:
C:\Program Files\Java\jdk1.5.0_04\bin>native2ascii
測試
\u6d4b\u8bd5
2.將Unicode轉換為漢字:
C:\Program Files\Java\jdk1.5.0_04\bin>native2ascii -reverse
\u6d4b\u8bd5
測試

java 自帶的一個native2ascii.exe是一個很好的轉碼工具,在bin目錄下。如果你的properties中有漢字,需要轉成unicode . 則把含有漢字的properties拷貝到bin 目錄下, 然後在cmd裡面進入bin目錄,輸入:native2ascii -encoding utf-8 Language-ext_zh_CN.properties.native Language-ext_zh_CN.properties就ok了。Language-ext_zh_CN.properties是轉碼後的文件。

在做Java開發的時候,常常會出現一些亂碼,或者無法正確識別或讀取的文件,比如常見的validator驗 證用的消息資源(properties)文件就需要進行Unicode重新編碼。原因是java默認的編碼方式為Unicode,而我們的計算機系統編碼 常常是GBK等編碼。需要將系統的編碼轉換為java正確識別的編碼問題就解決了。

1、native2ascii簡介:native2ascii 是sun java sdk提供的一個工具。用來將別的文本類文件(比如*.txt,*.ini,*.properties,*.java等等)編碼轉為Unicode編碼。 為什麼要進行轉碼,原因在於程序的國際化。Unicode編碼的定義:Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字元編碼。它為每 種語言中的每個字元設定了統一並且唯一的二進制編碼,以滿足跨語言、跨平台進行文本轉換、處理的要求。1990年開始研發,1994年正式公布。隨著計算 機工作能力的增強,Unicode也在面世以來的十多年裡得到普及。(聲明:Unicode編碼定義來自互聯網)。

2、獲取native2ascii:安裝了jdk後,假如你是在windows上安裝,那麼在jdk的安裝目錄下,會有一個bin目錄,其中native2ascii.exe正是。

3、native2ascii的命令行的命名格式:
native2ascii -[options] [inputfile [outputfile]]

說明:
-[options]:表示命令開關,有兩個選項可供選擇
-reverse:將Unicode編碼轉為本地或者指定編碼,不指定編碼情況下,將轉為本地編碼。
-encoding encoding_name:轉換為指定編碼,encoding_name為編碼名稱。
[inputfile [outputfile]]
inputfile:表示輸入文件全名。
outputfile:輸出文件名。如果缺少此參數,將輸出到控制台。
4、最佳實踐:首先將JDK的bin目錄加入系統變數path。在盤下建立一個test目錄,在test目錄里建立一個zh.txt文件,文件內容為:「熔岩」,打開「命令行提示符」,並進入C:\test目錄下。下面就可以按照說明一步一步來操作,注意觀察其中編碼的變化。

A:將zh.txt轉換為Unicode編碼,輸出文件到u.txt
native2ascii zh.txt u.txt
打開u.txt,內容為「\u7194\u5ca9」。
B:將zh.txt轉換為Unicode編碼,輸出到控制台
C:\test>native2ascii zh.txt
\u7194\u5ca9
可以看到,控制台輸出了「\u7194\u5ca9」。
C:將zh.txt轉換為ISO8859-1編碼,輸出文件到i.txt
native2ascii -encoding ISO8859-1 zh.txt i.txt
打開i.txt文件,內容為「\u00c8\u00db\u00d1\u00d2」。
D:將u.txt轉換為本地編碼,輸出到文件u_nv.txt
native2ascii -reverse u.txt u_nv.txt
打開u_nv.txt文件,內容為「熔岩」。
E:將u.txt轉換為本地編碼,輸出到控制台
C:\test>native2ascii -reverse u.txt
熔岩
可以看到,控制台輸出了「熔岩」。
F:將i.txt轉換為本地編碼,輸出到i_nv.txt
native2ascii -reverse i.txt i_nv.txt
打開i_nv.txt文件,內容為「\u00c8\u00db\u00d1\u00d2」。發現轉碼前後完全一樣的。也就是說,等於沒有轉,或者說思想糊塗,對命名沒有理解。。

G:將i.txt轉換為GBK編碼,輸出到i_gbk.txt
native2ascii -reverse -encoding GBK i.txt i_gbk.txt
打開i_gbk.txt文件,內容為「\u00c8\u00db\u00d1\u00d2」。發現轉碼前後完全一樣的。也就是說,等於沒有轉,或者說思想糊塗,對命名沒有理解。

H:將u_nv.txt轉碼到本地編碼GBK,輸出到控制台
C:\test>native2ascii -reverse -encoding ISO8859-1 i.txt
熔岩
從這個結果看,目標達到到了,編碼i.txt為ISO8859-1,轉為本地編碼後內容為「熔岩」。從這里應該意識到,native2ascii -reverse命令中-encoding指定的編碼為源文件的編碼格式。而在native2ascii 命令中-encoding指定的編碼為(生成的)目標文件的編碼格式。這一點非常的重要!切記!!

繼續探索,新建文件12a.txt,內容「12axyz」。看看純字母數字的編碼又如何。

I:將純字母數字的文本文件12a.txt轉換為Unicode編碼
native2ascii 12a.txt 12a_nv.txt
打開12a_nv.txt文件,內容為「12axyz」。
繼續測試,轉為ISO8859-1編碼看看
C:\test>native2ascii -encoding ISO8859-1 12a.txt
12axyz
結果還是沒有轉碼。
從結果可以得出結論:對於純數字和字母的文本類型件,轉碼前後的內容是一樣的。

閱讀全文

與java轉碼工具相關的資料

熱點內容
iphone13對wap3加密 瀏覽:553
pdf文件打開失敗 瀏覽:911
dubbo怎麼調用不同伺服器介面 瀏覽:38
全能解壓王app歷史版本 瀏覽:73
優先隊列與拓撲排序演算法 瀏覽:279
pdf轉換formacbook 瀏覽:869
pdf文件內容怎麼編輯 瀏覽:46
134壓縮機排氣溫度多少 瀏覽:254
unity等待編譯後 瀏覽:804
黑鯊手機鎖屏視頻在哪個文件夾 瀏覽:779
wow地圖解壓後怎麼壓縮 瀏覽:819
有pdf卻打不開 瀏覽:460
七星彩軟體app怎麼下載 瀏覽:217
32單片機的重映射哪裡改 瀏覽:816
為什麼前端不用刷演算法題 瀏覽:708
對稱加密系統和公鑰加密系統 瀏覽:428
歷史地理pdf 瀏覽:606
物聯網雲伺服器框架 瀏覽:648
sybaseisql命令 瀏覽:183
android權威編程指南pdf 瀏覽:663