首頁> Java> java教程> 主體

實現IO流檔案編碼的程式碼詳解

Y2J
發布: 2017-05-15 10:15:45
原創
1531 人瀏覽過

本文透過實例程式碼介紹了java io串流文件編碼的方法,非常不錯,具有參考借鑒價值,需要的朋友參考下吧

•文件的編碼

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();//转换成字节系列用的是项目默认的编码 for (byte b : b1) { //把字节(转换成了int)以十六进制方式显示 System.out.print(Integer.toHexString(b & 0xff) + " "); } System.out.println(""); //utf8编码,中文占用3个字节,英文和数字占用1个字节 byte[] b2 = str.getBytes("utf8"); for (byte b : b2) { System.out.print(Integer.toHexString(b & 0xff) + " "); } System.out.println(""); //gbk编码,中文占用两个字节,英文和数字占用1个字节 byte[] b3 = str.getBytes("gbk"); for (byte b : b3) { System.out.print(Integer.toHexString(b & 0xff) + " "); } System.out.println(""); //java是双字节编码 utf-16be //utf-16be编码,中文占2个字节,英文和数字也占用2个字节 byte[] b4 = str.getBytes("utf-16be"); for (byte b : b4) { System.out.print(Integer.toHexString(b & 0xff) + " "); } System.out.println(""); //当字节序列是某种编码时,这时候想把字节序列变成字符串,也需要用这种编码方式,否则会出现乱码 String str1 = new String(b4);//使用项目默认的编码 System.out.println(str1); String str2 = new String(b4, "utf-16be"); System.out.println(str2); } }
登入後複製

執行結果:

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
登入後複製

  檔案就是位元組序列,可以是任意編碼的位元組序列。

  如果我們在中文機器上直接建立文字文件,那麼該文字檔案只認識ansi編碼(中文系統下,ansi編碼代表gbk編碼)

##【相關推薦】

1.

特別推薦「php程式設計師工具箱」V0.1版本下載

2.

Java免費影片教學

3.

YMP線上手冊

以上是實現IO流檔案編碼的程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!