導航:首頁 > 編程語言 > jsstring轉碼

jsstring轉碼

發布時間:2023-09-09 08:40:30

『壹』 怎麼將字元串轉碼成urlencode的形式

URLEncode方法是把任何我們來給出的參數轉換成適源合放在URL中的字元串。具體規則:
1。字母,數字,連字元不變。
2。空格轉換成加號。
3。其他所有的字元轉換成用百分號表示,後跟字元的兩位十六進制編碼。

URLDecode功能相反。

例子:
String param = request.getParameter("userName"); // param:%E5%AD%99%E6%82%9F%E7%A9%BA1
String userName = URLDecoder.decode(param, "UTF-8"); // 孫悟空1

urlEncode
userName // 孫悟空1
String url = URLEncoder.encode(userName, "UTF-8"); //%E5%AD%99%E6%82%9F%E7%A9%BA1

這樣就很清楚了,urlencode是轉碼,urldecode是解碼

『貳』 java中文亂碼,能說下string.getBytes()和new String()轉碼是,具體點。

1、Java中,【String.getBytes(String decode)】的方法,會根據指定的decode,編碼返回某字元串在該編碼下的byte數組表示,例如:

byte[] b_gbk = "中".getBytes("GBK");
byte[] b_utf8 = "中".getBytes("UTF-8");
byte[] b_iso88591 = "中".getBytes("ISO8859-1")

上面三行代碼表示:分別返回「中」這個漢字在GBK、UTF-8和ISO8859-1編碼下的byte數組表示,此時b_gbk的長度為2,b_utf8的長度為3,b_iso88591的長度為1。

2、而通過【new String(byte[], decode)】的方式來還原這個「中」字時,實際是使用decode指定的編碼來將byte[ ]解析成字元串,例如:

String s_gbk = new String(b_gbk,"GBK");
String s_utf8 = new String(b_utf8,"UTF-8");
String s_iso88591 = new String(b_iso88591,"ISO8859-1");

s_gbk和s_utf8都是「中」,而只有s_iso88591是一個不認識 的字元,因為ISO8859-1編碼的編碼表中,根本就沒有包含漢字字元,當然也就無法通過"中".getBytes("ISO8859-1")。

因此,通過【String.getBytes(String decode)】方法來得到byte[ ]時,要確定decode的編碼表中確實存在String表示的碼值,這樣得到的byte[ ]數組才能正確被還原。

(2)jsstring轉碼擴展閱讀

java中文編碼避免亂碼

1、為了讓中文字元適應某些特殊要求(如http header頭要求其內容必須為iso8859-1編碼),可能會通過將中文字元按照位元組方式來編碼的情況,比如:

String s_iso88591 = new String("中".getBytes("UTF-8"),"ISO8859-1")

2、上述例子中的s_iso8859-1字元串實際是三個在 ISO8859-1中的字元,在將這些字元傳遞到目的地後,目的地程序再通過相反的方式:

String s_utf8 = new String(s_iso88591.getBytes("ISO8859-1"),"UTF-8")

來得到正確的中文漢字。這樣就既保證了遵守協 議規定、也支持中文。

3、String.getBytes(String decode)方法會根據指定的decode編碼返回某字元串在該編碼下的byte數組表示這里是encode ,not decode,從字元串到位元組數組是編碼的過程,從位元組數組到字元串(即 new String(byte[] , charsetname))才是解碼的過程。

『叄』 java web開發中如何將字元串轉碼

我們在web應用開發過程中經常遇到輸出某種編碼的字元,如iso8859-1等,如何輸出一個某種編碼的字元串?
我們主要是通過String對象的getbyte("ISO-8859-1","UTF-8")方法,其中第一個參數是原始類型,第二個參數是我們要轉成的編碼類型
Public String translate (String str) {
String tempStr = "";
try {
tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");
tempStr = tempStr.trim();
}
catch (Exception e) {
System.err.println(e.getMessage());
}
return tempStr;
}

『肆』 Java怎麼將字元串轉換為GB2312原編碼

@Test
publicvoidtest333(){
="青白";
try{
byte[]b=a.getBytes("GB2312");
System.out.println(bytesToHexFun1(b));

}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}
}
//將byte數組轉成16進制字元串
(byte[]bytes){
char[]HEX_CHAR={'0','1','2','3','4','5',
'6','7','8','9','a','b','c','d','e','f'};
//一個byte為8位,可用兩個十六進制位標識
char[]buf=newchar[bytes.length*2];
inta=0;
intindex=0;
for(byteb:bytes){//使用除與取余進行轉換
if(b<0){
a=256+b;
}else{
a=b;
}
buf[index++]=HEX_CHAR[a/16];
buf[index++]=HEX_CHAR[a%16];
}
returnnewString(buf);
}

中心思想就是先轉成GB2312的byte數組,再轉成16進制就可以了。

『伍』 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();//編碼

閱讀全文

與jsstring轉碼相關的資料

熱點內容
政府pdf文件加水印 瀏覽:435
linq代碼生成 瀏覽:969
加密光碟源的數據怎麼讀 瀏覽:119
配置文件數據文件 瀏覽:473
釘釘如何將文件轉發至qq 瀏覽:616
js獲取table的tr 瀏覽:518
xp系統網路配置文件在什麼位置 瀏覽:602
word中cad圖形打不開 瀏覽:55
什麼是配置管理工具 瀏覽:803
wps如何掃描文件 瀏覽:370
微信收費電影網站系統 瀏覽:62
佛山哪裡學編程好 瀏覽:389
不同環境配置文件分支管理 瀏覽:663
電腦顯示pdf文件不是一個有效的 瀏覽:391
demo1js下載 瀏覽:304
java安卓 瀏覽:411
傲劍2刷充值工具 瀏覽:340
電子秤程序流程圖 瀏覽:225
qq發過來的文件如何保存到桌面 瀏覽:701
win10配置ini文件 瀏覽:286

友情鏈接