pengpenglin
人,必須選擇一種生活方式并有勇氣堅(jiān)持下去
BlogJava
首頁
新隨筆
新文章
聯(lián)系
聚合
管理
posts - 262, comments - 221, trackbacks - 0
【Java基礎(chǔ)專題】編碼與亂碼(06)---字符的各種值轉(zhuǎn)換
package
example.encoding;
/** */
/**
* The Class ChineseValidator.
*/
public
class
CharacterValueConveter
{
/** */
/**
* The main method.
*
*
@param
args the arguments
*/
public
static
void
main(String args[])
{
CharacterValueConveter conveter
=
new
CharacterValueConveter();
conveter.testConvertion(
"
中文
"
);
}
/** */
/**
* Test convertion.
*
*
@param
content the content
*/
public
void
testConvertion(String content)
{
byte
[] bytes
=
content.getBytes();
System.out.println(
"
Original String :
"
+
content);
System.out.println();
//
Get bytes array
System.out.println(
"
Convert string to bytes array :
"
);
for
(
int
i
=
0
; i
<
bytes.length; i
++
)
{
System.out.println(
"
byte[
"
+
i
+
"
]=
"
+
bytes[i]);
}
System.out.println();
//
Get each character and unicode
System.out.println(
"
Start to convert by character:
"
+
"
\n
"
);
for
(
int
j
=
0
; j
<
content.length(); j
++
)
{
char
c
=
content.charAt(j);
printAllValue(c);
}
}
/** */
/**
* Prints the all value.
*
*
@param
c the c
*/
public
void
printAllValue(
char
c)
{
byte
b
=
(
byte
) c;
int
i
=
(
int
) c;
short
s
=
(
short
) c;
String binaryString
=
Integer.toBinaryString(i);
String hexString
=
Integer.toHexString(i);
StringBuffer output
=
new
StringBuffer();
//
Base value
output.append(
"
Character :
"
).append(c).append(
"
\n
"
);
output.append(
"
byte value :
"
).append(b).append(
"
\n
"
);
output.append(
"
int value :
"
).append(i).append(
"
\n
"
);
output.append(
"
short value :
"
).append(s).append(
"
\n
"
);
//
Hex value and binary value
output.append(
"
hex value :
"
).append(hexString).append(
"
\n
"
);
output.append(
"
binary value :
"
).append(binaryString).append(
"
\n
"
);
//
Unicode value in java file & web page with decimal encoding
output.append(
"
unicode value (Base 10):
"
);
output.append(
"
\\u
"
).append(i).append(
"
;
"
).append(
"
\n
"
);
output.append(
"
unicode value (Base 10 in web page):
"
);
output.append(
"
"
).append(i).append(
"
;
"
).append(
"
\n
"
);
//
Unicode value in java file & web page with hexadecimal encoding
output.append(
"
unicode value (Base 16):
"
);
output.append(
"
\\u
"
).append(hexString).append(
"
;
"
).append(
"
\n
"
);
output.append(
"
unicode value (Base 16 in web page):
"
);
output.append(
"
"
).append(hexString).append(
"
;
"
).append(
"
\n
"
);
System.out.println(output.toString());
}
}
最終的測試結(jié)果如下:
Original String : 中文
Convert string to bytes array :
byte
[
0
]
=
-
42
byte
[
1
]
=
-
48
byte
[
2
]
=
-
50
byte
[
3
]
=
-
60
Start to convert by character:
Character : 中
byte value :
45
int value :
20013
short value :
20013
hex value :4e2d
binary value :
100111000101101
unicode value (Base
10
):
\u20013
;
unicode value (Base
10
in web page):
20013
;
unicode value (Base
16
):
\u4e2d
;
unicode value (Base
16
in web page):
e2d
;
Character : 文
byte value : -
121
int value :
25991
short value :
25991
hex value :
6587
binary value :
110010110000111
unicode value (Base
10
): \u25991
;
unicode value (Base
10
in web page):
25991
;
unicode value (Base
16
): \u6587
;
unicode value (Base
16
in web page):
6587
;
可以看到在Java中,字符的unicode有兩種表示顯示:一種是10進(jìn)制形式,一種是16進(jìn)制形式。它們可以分別通過:int i = (int)(string.charAt(i))和Integer.toHexString(i);獲得。而且在java文件和Web頁面,同一個unicode的表示形式是不同。web頁面需要用進(jìn)行轉(zhuǎn)義,在java文件中則使用\u進(jìn)行轉(zhuǎn)義。
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
posted on 2010-02-23 16:48
Paul Lin
閱讀(2126)
評論(2)
編輯
收藏
所屬分類:
J2SE
FeedBack:
#
re: 【Java基礎(chǔ)專題】編碼與亂碼(06)---字符的各種值轉(zhuǎn)換
2010-02-24 05:23 |
tbw
學(xué)習(xí)了。。。。
回復(fù)
更多評論
#
re: 【Java基礎(chǔ)專題】編碼與亂碼(06)---字符的各種值轉(zhuǎn)換
2010-02-24 14:22 |
咖啡妝
期望更深入的講解
回復(fù)
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
【Java基礎(chǔ)專題】IO與文件讀寫---優(yōu)化搜索程序(01)
【Java基礎(chǔ)專題】IO與文件讀寫---DirectoryWalker和FileFilter的復(fù)雜條件使用
【Java基礎(chǔ)專題】IO與文件讀寫---使用DirectoryWalker和FileFilterUtils進(jìn)行搜索
【Java基礎(chǔ)專題】IO與文件讀寫---慎用FileUtils.writeLines(File, Collection)方法
TSS上關(guān)于JDBC操作優(yōu)化的Tips總結(jié)
【Java基礎(chǔ)專題】IO與文件讀寫---對同步/異步和阻塞/非阻塞的理解
【Java基礎(chǔ)專題】IO與文件讀寫---同步/異步與阻塞/非阻塞的區(qū)別(轉(zhuǎn))
【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO包進(jìn)行資源遍歷
【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO過濾文件和目錄
【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO操縱底層讀寫
Copyright ©2025 Paul Lin Powered by:
博客園
模板提供:
滬江博客
<
2010年2月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(21)
給我留言
查看公開留言
查看私人留言
隨筆分類
J2EE 框架(9)
J2EE基礎(chǔ)(4)
J2SE(43)
Java 工具(5)
Oracle Concept(4)
Oracle SQL/PLSQL(9)
Oracle 開發(fā)(13)
Oracle 管理(4)
Oracle 調(diào)優(yōu)
Oracle 錯誤診斷
RoR(19)
UML(3)
Unix / Linux(13)
Web基礎(chǔ)(19)
其它技術(shù)(7)
感悟(3)
雜項(xiàng)(7)
架構(gòu)與性能(8)
模式與重構(gòu)(19)
灌水(8)
電影與音樂(16)
走過的路(1)
軟件過程與軟件方法(3)
陽光戶外(2)
項(xiàng)目管理(36)
隨筆檔案
2012年2月 (3)
2011年11月 (4)
2011年10月 (1)
2011年9月 (2)
2011年8月 (2)
2011年7月 (5)
2011年6月 (3)
2011年5月 (1)
2011年4月 (1)
2011年3月 (3)
2011年1月 (1)
2010年12月 (1)
2010年11月 (5)
2010年10月 (3)
2010年9月 (1)
2010年7月 (1)
2010年6月 (1)
2010年5月 (4)
2010年4月 (9)
2010年3月 (19)
2010年2月 (8)
2010年1月 (3)
2009年12月 (34)
2009年11月 (1)
2009年10月 (2)
2009年7月 (4)
2009年6月 (5)
2009年5月 (3)
2009年4月 (2)
2009年3月 (1)
2009年2月 (5)
2009年1月 (5)
2008年12月 (13)
2008年11月 (4)
2008年10月 (1)
2008年9月 (6)
2008年8月 (5)
2008年7月 (3)
2008年6月 (31)
2008年5月 (10)
2008年4月 (9)
2008年3月 (7)
2008年2月 (4)
2008年1月 (19)
BlogJava熱點(diǎn)博客
BeanSoft
Jack.Wang
如坐春風(fēng)
詩特林
鄭暉
銀河使者
阿密果
隔葉黃鶯
好友博客
無羽蒼鷹
搜索
最新評論
1.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
666666666666666666666這幾天正在做個類似工程編碼出現(xiàn)錯誤
--李
2.?re: 【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO簡化文件讀寫
不錯
--阿斯蘭
3.?re: 【Java基礎(chǔ)專題】編碼與亂碼(03)----String的toCharArray()方法
多謝分享
--thx
4.?re: 【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--karl
5.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
謝謝,幫了我大忙!
--小龍
閱讀排行榜
1.?Oracle中如何插入特殊字符:& 和 ' (多種解決方案)(48446)
2.?getOutputStream() has already been called for this response的解決方法(43350)
3.?【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換(37031)
4.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無聲的解決方案(21267)
5.?Java中讀取字節(jié)流并按指定編碼轉(zhuǎn)換成字符串的方法(17318)
評論排行榜
1.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無聲的解決方案(33)
2.?【原】Oracle開發(fā)專題之:時間運(yùn)算(11)
3.?【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換(11)
4.?getOutputStream() has already been called for this response的解決方法(10)
5.?【原】Oracle開發(fā)專題之:分析函數(shù)(OVER)(8)
主站蜘蛛池模板:
久久亚洲av无码精品浪潮
|
免费无码一区二区三区
|
中国一级全黄的免费观看
|
热久久这里是精品6免费观看
|
亚洲一级特黄大片在线观看
|
久久精品国产亚洲av天美18
|
青青青国产在线观看免费网站
|
亚洲精品国产精品国自产网站
|
日本免费一区二区三区最新
|
国产AV无码专区亚洲AV手机麻豆
|
在线观看免费无码专区
|
日韩一区二区在线免费观看
|
亚洲精品9999久久久久无码
|
2022中文字字幕久亚洲
|
免费在线观看一区
|
无码精品一区二区三区免费视频
|
免费h成人黄漫画嘿咻破解版
|
日韩在线观看视频免费
|
亚洲av无码一区二区三区不卡
|
日本人成在线视频免费播放
|
亚洲国产综合人成综合网站
|
亚洲精品在线免费观看
|
日韩av无码免费播放
|
亚洲AV永久纯肉无码精品动漫
|
亚洲尹人九九大色香蕉网站
|
无码免费午夜福利片在线
|
一级免费黄色毛片
|
四虎www成人影院免费观看
|
暖暖免费日本在线中文
|
日产久久强奸免费的看
|
成在线人直播免费视频
|
水蜜桃视频在线观看免费
|
亚洲AV无码国产一区二区三区
|
77777亚洲午夜久久多喷
|
亚洲AV无码一区二区三区牛牛
|
亚洲精品美女久久久久
|
亚洲精品伊人久久久久
|
综合偷自拍亚洲乱中文字幕
|
特级毛片全部免费播放a一级
|
亚洲精品无码专区
|
免费国产怡红院在线观看
|