pengpenglin
人,必須選擇一種生活方式并有勇氣堅(jiān)持下去
BlogJava
首頁(yè)
新隨筆
新文章
聯(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());
}
}
最終的測(cè)試結(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頁(yè)面,同一個(gè)unicode的表示形式是不同。web頁(yè)面需要用進(jìn)行轉(zhuǎn)義,在java文件中則使用\u進(jìn)行轉(zhuǎn)義。
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
posted on 2010-02-23 16:48
Paul Lin
閱讀(2129)
評(píng)論(2)
編輯
收藏
所屬分類:
J2SE
FeedBack:
#
re: 【Java基礎(chǔ)專題】編碼與亂碼(06)---字符的各種值轉(zhuǎn)換
2010-02-24 05:23 |
tbw
學(xué)習(xí)了。。。。
回復(fù)
更多評(píng)論
#
re: 【Java基礎(chǔ)專題】編碼與亂碼(06)---字符的各種值轉(zhuǎn)換
2010-02-24 14:22 |
咖啡妝
期望更深入的講解
回復(fù)
更多評(píng)論
新用戶注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
網(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與文件讀寫---對(duì)同步/異步和阻塞/非阻塞的理解
【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
常用鏈接
我的隨筆
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(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 錯(cuò)誤診斷
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)
陽(yáng)光戶外(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)
詩(shī)特林
鄭暉
銀河使者
阿密果
隔葉黃鶯
好友博客
無(wú)羽蒼鷹
搜索
最新評(píng)論
1.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
666666666666666666666這幾天正在做個(gè)類似工程編碼出現(xiàn)錯(cuò)誤
--李
2.?re: 【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO簡(jiǎn)化文件讀寫
不錯(cuò)
--阿斯蘭
3.?re: 【Java基礎(chǔ)專題】編碼與亂碼(03)----String的toCharArray()方法
多謝分享
--thx
4.?re: 【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--karl
5.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
謝謝,幫了我大忙!
--小龍
閱讀排行榜
1.?Oracle中如何插入特殊字符:& 和 ' (多種解決方案)(48473)
2.?getOutputStream() has already been called for this response的解決方法(43366)
3.?【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換(37059)
4.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無(wú)聲的解決方案(21301)
5.?Java中讀取字節(jié)流并按指定編碼轉(zhuǎn)換成字符串的方法(17326)
評(píng)論排行榜
1.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無(wú)聲的解決方案(33)
2.?【原】Oracle開發(fā)專題之:時(shí)間運(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)
主站蜘蛛池模板:
亚洲一区二区三区丝袜
|
亚洲一区二区三区乱码A
|
3d动漫精品啪啪一区二区免费
|
国产精品成人免费观看
|
男女作爱免费网站
|
老司机午夜在线视频免费观
|
色偷偷亚洲男人天堂
|
在线观看亚洲专区
|
免费无码午夜福利片69
|
免费大片av手机看片
|
一级免费黄色毛片
|
精精国产www视频在线观看免费
|
久久久久久国产a免费观看不卡
|
久久性生大片免费观看性
|
免费播放在线日本感人片
|
久久成人免费大片
|
一级毛片免费观看不卡视频
|
久久国产色AV免费观看
|
日本免费网址大全在线观看
|
毛片免费观看的视频在线
|
日韩免费高清一级毛片在线
|
国产在线观看免费不卡
|
亚洲日本VA午夜在线电影
|
亚洲精品成a人在线观看夫
|
黄网站色视频免费看无下截
|
aa毛片免费全部播放完整
|
免费视频一区二区
|
天天影视色香欲综合免费
|
成人免费视频软件网站
|
青青青青青青久久久免费观看
|
免费在线黄色网址
|
亚洲av永久无码精品古装片
|
亚洲毛片免费视频
|
亚洲第一se情网站
|
成人一区二区免费视频
|
中文字幕视频免费
|
在线免费观看韩国a视频
|
国产性爱在线观看亚洲黄色一级片
|
亚洲AV成人精品网站在线播放
|
亚洲AV之男人的天堂
|
13小箩利洗澡无码视频网站免费
|