程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-同一編碼方式的URLEncode.encode()方法與getBytes()方法返回的十六進制不同?

java-同一編碼方式的URLEncode.encode()方法與getBytes()方法返回的十六進制不同?

編輯:編程綜合問答
同一編碼方式的URLEncode.encode()方法與getBytes()方法返回的十六進制不同?

問題如標題啦
寫了一個測試demo
圖片說明
運行結果:
-28-67-96-27-91-67
%E4%BD%A0%E5%A5%BD

很奇怪為什麼都是用UTF-8編碼返回字節,但返回的十六進制為什麼不同呢?

最佳回答:


a.getBytes('utf-8') 若a字符串為中文的時候,因為utf-8的中文是3字節,所以一個中文字會輸出3個ascii碼。“你好”兩個中文字,輸出6個ascii碼
a.getBytes('GB2312') 若a字符串為中文的時候,因為gb2312的中文是2字節,所以一個中文字會輸出2個ascii碼。“你好”兩個中文字,輸出4個ascii碼

z55887
technofiend
technofiend
technofiend
z55887
z55887
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved