1. 程式人生 > >幾段程式碼讓你徹底搞懂編碼出現亂碼問題(File類的幾個讀寫文字問題)

幾段程式碼讓你徹底搞懂編碼出現亂碼問題(File類的幾個讀寫文字問題)

廢話不多說;我先上圖

我的程式碼是用File類讀取文本里面的內容,開始也是我寫入的。
其實關於編碼亂碼問題,很多人都說你開啟文字另存為UTF-8就搞定。
那麼如果我來說下里面的原理;

其實我們預設不寫編碼格式就預設為ASCII.
因此當我們開啟去看的時候用的編碼格式預設其實是UTF-8
你寫入和讀取的編碼不同,肯定不行。

看程式碼,

“`
using System;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Text;

namespace IO目錄管理
{
class Program
{
private string _Path1 = @”E:\TestDir\Test\1.txt”;

    public void Test()
    {

        string strArray = File.ReadAllText(_Path1);
        //Console.WriteLine(strArray);

        File.WriteAllText(_Path1, "12121222222222222222211111111劉焱 \r  12  ",Encoding.UTF7);
        String[] strArray1 = File.ReadAllLines(_Path1, Encoding.UTF7);


        foreach (string item in strArray1)
        {
            Console.WriteLine(item);
        }



    }

    static void Main(string[] args)
    {
        Program p = new Program();
        p.Test();





    }
}

}

上執行結果

這裡寫圖片描述

很明顯我們是正確讀取到了中文,

現在我把寫入文字的時候編碼改了

這裡寫圖片描述

很明顯我寫入的時候是ASCII編碼,我們就看不到正確的中文字元

相關推薦

程式碼徹底編碼出現亂碼問題(File文字問題)

廢話不多說;我先上圖 我的程式碼是用File類讀取文本里面的內容,開始也是我寫入的。 其實關於編碼亂碼問題,很多人都說你開啟文字另存為UTF-8就搞定。 那麼如果我來說下里面的原理; 其實我們預設不寫編碼格式就預設為ASCII. 因此當我們開啟去看的時

看完徹底Websocket原理

找到 說了 成了 原理 兩層 cep 告訴 edi 純粹 偶然在知乎上看到一篇回帖,瞬間覺得之前看的那麽多資料都不及這一篇回帖讓我對 websocket 的認識深刻有木有。所以轉到我博客裏,分享一下。比較喜歡看這種博客,讀起來很輕松,不枯燥,沒有布道師的陣仗,純粹為分享。廢

轉--看完徹底Websocket原理

接下來 lur 耗資源 最終 ive img pro -- 傳遞 偶然在知乎上看到一篇回帖,瞬間覺得之前看的那麽多資料都不及這一篇回帖讓我對 websocket 的認識深刻有木有。所以轉到我博客裏,分享一下。比較喜歡看這種博客,讀起來很輕松,不枯燥,沒有布道師的陣仗,純粹為

websocket(轉) 看完徹底Websocket原理

看完讓你徹底搞懂Websocket原理 偶然在知乎上看到一篇回帖,瞬間覺得之前看的那麼多資料都不及這一篇回帖讓我對 websocket 的認識深刻有木有。所以轉到我部落格裡,分享一下。比較喜歡看這種部落格,讀起來很輕鬆,不枯燥,沒有佈道師的陣仗,純粹為分享。廢話這麼多了,最後再贊一

Websocket原理 看完徹底Websocket原理

看完讓你徹底搞懂Websocket原理 偶然在知乎上看到一篇回帖,瞬間覺得之前看的那麼多資料都不及這一篇回帖讓我對 websocket 的認識深刻有木有。所以轉到我部落格裡,分享一下。比較喜歡看這種部落格,讀起來很輕鬆,不枯燥,沒有佈道師的陣仗,純粹為分享。廢話這麼多了,最後再贊一

徹底Websocket原理

一、websocket與http WebSocket是HTML5出的東西(協議),也就是說HTTP協議沒有變化,或者說沒關係,但HTTP是不支援持久連線的(長連線,迴圈連線的不算) 首先HTTP有 1.1 和 1.0 之說,也就是所謂的 keep-alive ,把多個HTTP請求合併為一

看完徹底Websocket原理(轉)

轉自:看完讓你徹底搞懂Websocket原理 偶然在知乎上看到一篇回帖,瞬間覺得之前看的那麼多資料都不及這一篇回帖讓我對 websocket 的認識深刻有木有。所以轉到我部落格裡,分享一下。比較喜歡看這種部落格,讀起來很輕鬆,不枯燥,沒有佈道師的陣仗,純粹為分享。廢話這麼多了,最後再贊一個~

網路程式設計(七)——看完徹底Websocket原理

偶然在知乎上看到一篇回帖,瞬間覺得之前看的那麼多資料都不及這一篇回帖讓我對 websocket 的認識深刻有木有。所以轉到我部落格裡,分享一下。比較喜歡看這種部落格,讀起來很輕鬆,不枯燥,沒有佈道師的陣仗,純粹為分享。廢話這麼多了,最後再贊一個~一、websocket與htt

Websocket:看完徹底Websocket原理 即時訊息通訊

http://goeasy.io/cn/pricing 封裝好的socket Web訊息推送系統,便捷實現web端訊息推送, 原生的封裝參考:https://blog.csdn.net/young_phper/article/details/52441143 分割線--

[C/C++基礎知識] 一篇就徹底qsort快速排序的文章

一. C語言實現qsort快速排序         這段介紹參考百度百科,編譯器函式庫自帶的快速排序函式qsort。使用qsort()排序並用 bsearch()搜尋是一個比較常用的組合,使用方便快

張圖徹底了解JAVASE、JAVAEE、JAVAWEB整個的知識體系

javaweb 分享圖片 知識 TP 技術分享 了解 src bubuko ima 幾張圖讓你徹底了解JAVASE、JAVAEE、JAVAWEB整個的知識體系

設計模式:三程式碼理解 裝飾者模式

package com.zx.b_decorator; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader;

(轉載)準確率(accuracy),精確率(Precision),召回率(Recall)和綜合評價指標(F1-Measure )-絕對完全這些概念

自然語言處理(ML),機器學習(NLP),資訊檢索(IR)等領域,評估(evaluation)是一個必要的工作,而其評價指標往往有如下幾點:準確率(accuracy),精確率(Precision),召回率(Recall)和F1-Measure。 本文將簡單介紹其中幾個概念。中文中這幾個評價指標翻譯各有不同,

一個例子立刻多址技術

在無線通訊系統中,多使用者同時通過同一個基站和其他使用者進行通訊,必須對不同使用者和基站發出的訊號賦予不同特徵。這些特徵使基站從眾多手機發射的訊號中,區分出是哪一個使用者的手機發出來的訊號;各使用者的手機能在基站發出的訊號中,識別出哪一個是發給自己的訊號。在無線

對JVM還一知半解?這篇文章徹底定JVM

對於Java開發者來說,想把自身能力提升到更高層次,某些JVM相關知識應該是優先順序很高的。比如

全方位帶徹底Android記憶體洩露

1Java記憶體回收方式 Java判斷物件是否可以回收使用的而是可達性分析演算法。 在主流的商用程式語言中(Java和C#),都是使用可達性分析演算法判斷物件是否存活的。

【轉】嗯,我們徹底C/C++函式指標吧

摘要:這篇文章詳細介紹C/C++的函式指標,請先看以下幾個主題:使用函式指標定義新的型別、使用函式指標作為引數、使用函式指標作為返回值、使用函式指標作為回撥函式、使用函式指標陣列,使用類的靜態函式成員的函式指標、使用類的普通函式成員的指標、定義函式指標陣列型別、

通過分析漢語徹底充分條件必要條件,以及充要條件

前篇 我寫完自己簡要看了下,感覺語言有點複雜,大家慢慢品吧,內容是沒錯滴,如果有錯,歡迎探討 充分條件 看充分這個詞語 百度百科解釋得非常好,亦作”充份”,即足夠的份量,什麼意思?就是說已經完全可以滿足了,那麼充分條件就是完全可以滿足了的條件,那

Java技術專題——幫徹底JNDI(附詳細例項)

1. 什麼是JNDI? JNDI(Java Naming and Directory Interface,Java命名和目錄介面)是SUN公司提供的一種標準的Java命名系統介面,JNDI提供統一的客戶端API,通過不同的訪問提供者介面JNDI服務供應介面(S

面試都在問的「微服務」「RPC」「服務治理」「下一代微服務」一文帶徹底

❝ 文章每週持續更新,各位的「三連」是對我最大的肯定。可以微信搜尋公眾號「 後端技術學堂 」第一時間閱讀(一般比部落格早更新一到兩篇) ❞ 單體式應用程式 與微服務相對的另一個概念是傳統的「單體式應用程式」( Monolithic application ),單體式應用內部包含了所有需要的服務。而且各個服務功