Java IO流 文件的編碼實(shí)例代碼
•文件的編碼
package cn.test;
import java.io.UnsupportedEncodingException;
public class Demo15 {
public static void main(String[] args) throws UnsupportedEncodingException {
String str = "你好ABC123";
byte[] b1 = str.getBytes();//轉(zhuǎn)換成字節(jié)系列用的是項(xiàng)目默認(rèn)的編碼
for (byte b : b1) {
//把字節(jié)(轉(zhuǎn)換成了int)以十六進(jìn)制方式顯示
System.out.print(Integer.toHexString(b & 0xff) + " ");
}
System.out.println("");
//utf8編碼,中文占用3個(gè)字節(jié),英文和數(shù)字占用1個(gè)字節(jié)
byte[] b2 = str.getBytes("utf8");
for (byte b : b2) {
System.out.print(Integer.toHexString(b & 0xff) + " ");
}
System.out.println("");
//gbk編碼,中文占用兩個(gè)字節(jié),英文和數(shù)字占用1個(gè)字節(jié)
byte[] b3 = str.getBytes("gbk");
for (byte b : b3) {
System.out.print(Integer.toHexString(b & 0xff) + " ");
}
System.out.println("");
//java是雙字節(jié)編碼 utf-16be
//utf-16be編碼,中文占2個(gè)字節(jié),英文和數(shù)字也占用2個(gè)字節(jié)
byte[] b4 = str.getBytes("utf-16be");
for (byte b : b4) {
System.out.print(Integer.toHexString(b & 0xff) + " ");
}
System.out.println("");
//當(dāng)字節(jié)序列是某種編碼時(shí),這時(shí)候想把字節(jié)序列變成字符串,也需要用這種編碼方式,否則會(huì)出現(xiàn)亂碼
String str1 = new String(b4);//使用項(xiàng)目默認(rèn)的編碼
System.out.println(str1);
String str2 = new String(b4, "utf-16be");
System.out.println(str2);
}
}
執(zhí)行結(jié)果:
e4 bd a0 e5 a5 bd 41 42 43 31 32 33 e4 bd a0 e5 a5 bd 41 42 43 31 32 33 c4 e3 ba c3 41 42 43 31 32 33 4f 60 59 7d 0 41 0 42 0 43 0 31 0 32 0 33 O`Y}ABC123 你好ABC123
文件就是字節(jié)序列,可以是任意編碼的字節(jié)序列。
如果我們?cè)谥形臋C(jī)器上直接創(chuàng)建文本文件,那么該文本文件只認(rèn)識(shí)ansi編碼(中文系統(tǒng)下,ansi編碼代表gbk編碼)
好了,以上所述是小編給大家介紹的Java IO流 文件的編碼的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
- 【Java IO流】字節(jié)流和字符流的實(shí)例講解
- Java 中IO流字符流詳解及實(shí)例
- Java中io流解析及代碼實(shí)例
- java IO流讀取圖片供前臺(tái)顯示代碼分享
- java IO流將一個(gè)文件拆分為多個(gè)子文件代碼示例
- Java中IO流文件讀取、寫(xiě)入和復(fù)制的實(shí)例
- Java使用IO流實(shí)現(xiàn)音頻的剪切和拼接
- Java IO流體系繼承結(jié)構(gòu)圖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- 關(guān)于Java中的IO流總結(jié)(推薦)
- Java IO流之字符緩沖流實(shí)例詳解
相關(guān)文章
SpringBoot整合mybatis通用Mapper+自定義通用Mapper方法解析
這篇文章主要介紹了SpringBoot整合mybatis通用Mapper+自定義通用Mapper方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
關(guān)于Java?CPU或內(nèi)存使用率過(guò)高問(wèn)題定位
Spring?cloud微服務(wù)廣泛應(yīng)用后,服務(wù)的監(jiān)控和運(yùn)維壓力也與日俱增,經(jīng)常有服務(wù)出現(xiàn)CPU或者內(nèi)存使用率過(guò)高的告警,那么遇到這樣的問(wèn)題我們?cè)撊绾闻挪槟??我們可以借助哪些工具?lái)定位問(wèn)題呢?本文將介紹一下遇到此類問(wèn)題的解決思路和方法2024-10-10
讓Java后臺(tái)MySQL數(shù)據(jù)庫(kù)能夠支持emoji表情的方法
最近開(kāi)發(fā)的iOS項(xiàng)目因?yàn)樾枰脩粑谋镜拇鎯?chǔ),自然就遇到了emoji等表情符號(hào)如何被mysql DB支持的問(wèn)題。下面這篇文章主要介紹了關(guān)于讓Java后臺(tái)MySQL數(shù)據(jù)庫(kù)能夠支持emoji表情的方法,需要的朋友可以參考下。2017-03-03
Java程序連接數(shù)據(jù)庫(kù)的常用的類和接口介紹
這篇文章主要介紹了Java程序連接數(shù)據(jù)庫(kù)的常用的類和接口,包括Connection類和Statement類等,需要的朋友可以參考下2015-10-10
細(xì)數(shù)java for循環(huán)中的那些坑
這篇文章主要介紹了Java for循環(huán)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07
SpringBoot集成mqtt的多模塊項(xiàng)目配置詳解
這篇文章主要介紹了SpringBoot集成mqtt的多模塊項(xiàng)目配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Java線程實(shí)現(xiàn)的三種方式詳細(xì)解析
這篇文章主要介紹了Java線程實(shí)現(xiàn)的三種方式詳細(xì)解析,Java多線程實(shí)現(xiàn)方式主要有三種,繼承Thread類、實(shí)現(xiàn)Runnable接口、使用ExecutorService、Callable、Future實(shí)現(xiàn)有返回結(jié)果的多線程,需要的朋友可以參考下2023-12-12

