奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

java語言

java如何解決亂碼問題

時間:2024-06-20 03:57:17 java語言 我要投稿
  • 相關(guān)推薦

java如何解決亂碼問題

  做項目經(jīng)常會遇到Java中的亂碼問題,那么遇到亂碼問題怎么解決呢?下面小編為大家解答一下,希望能幫到大家!

  分析編碼與解碼

  編碼就是將字符轉(zhuǎn)為字節(jié),解碼就是就是將字節(jié)轉(zhuǎn)換為字符。

  字節(jié)流與字符流

  對文件的讀寫操作都是通過字節(jié)流來實現(xiàn)的,即使JAVA中有字符流,但是其底層仍然使用的字節(jié)流。

  亂碼問題出現(xiàn)

  java中使用最頻繁的是字符,當(dāng)我們將文件讀入內(nèi)存并在控制臺顯示時(字節(jié)流--->字符流),就需要用到解碼。如果文件是UTF-8編碼,而我們解碼時錯用成GBK(如果不指定編碼,JAVA會采取系統(tǒng)默認(rèn)編碼)來解碼,那么只能顯示亂碼。而我們寫文件時,最好指定編碼(UTF-8)。

  解決方案

  示例1

  將字節(jié)流轉(zhuǎn)換為字符流時,我們指定編碼格式。這是我們文件也應(yīng)該是gb2312編碼

  public static String read(String filename) throws Exception { InputStream is = new FileInputStream(filename); BufferedReader in = new BufferedReader(new InputStreamReader(is, "gb2312")); //指定編碼格式 String s; StringBuilder sb = new StringBuilder(); while ((s = in.readLine()) != null) { sb.append(s + "n"); } in.close(); return sb.toString();}

  示例2

  直接通過字節(jié)流讀入,使用String轉(zhuǎn)換為字符時,指定編碼。

  package com.dy.xidian;import java.io.FileInputStream;import java.io.InputStream;class BufferedInputFile { public static String read(String filename) throws Exception { @SuppressWarnings("resource") InputStream is = new FileInputStream(filename); byte[] b = new byte[1024]; is.read(b); return new String(b, "gb2312"); }}public class MemoryInput { public static void main(String[] args) throws Exception { String filename = "E:/html/gb2312.php"; String s = BufferedInputFile.read(filename); System.out.println(s); }}

  陷阱

  I/O操作中有個FileReader類,這個類隱藏了字節(jié)流轉(zhuǎn)為字符流的細(xì)節(jié),我們可以這樣使用。 BufferedReader in = new BufferedReader(new FileReader(filename)); 這樣,我們直接得到就是字符流了。但我們發(fā)現(xiàn),我們并沒有去設(shè)置編碼,這是因為FileReader中采用了默認(rèn)編碼方式。這就變得很危險了,如果其默認(rèn)的編碼格式和我們文件的編碼不同,那么讀出來的數(shù)據(jù)一定是亂碼。所以我們最好采用示例中的方式來進(jìn)行流的轉(zhuǎn)換。

【java如何解決亂碼問題】相關(guān)文章:

如何解決java亂碼06-07

JSP環(huán)境下如何解決Ajax亂碼問題06-28

完美解決PHP中文亂碼問題07-18

如何解決java內(nèi)存泄漏的問題08-13

java URL亂碼的解決辦法是什么07-29

如何解決java內(nèi)存泄漏07-26

word打開是亂碼的解決方法09-09

如何解決Dreamweaver空格問題05-30

如何解決Linux安裝GBK或GB2312程序顯示亂碼06-08

Word文檔出現(xiàn)亂碼的解決方法08-24

主站蜘蛛池模板: 屏山县| 丹江口市| 彝良县| 海盐县| 分宜县| 布尔津县| 阳新县| 毕节市| 平安县| 隆化县| 新乐市| 丹阳市| 和龙市| 改则县| 顺昌县| 济阳县| 米林县| 山东省| 德格县| 诸城市| 依安县| 宁晋县| 兰州市| 威远县| 石狮市| 九寨沟县| 托克逊县| 青海省| 曲松县| 磐石市| 博客| 新龙县| 章丘市| 福贡县| 清新县| 宁德市| 黄龙县| 方正县| 济南市| 达拉特旗| 蛟河市|