操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    檔損壞怎么辦?

    昨天下午,天津某醫(yī)院主任醫(yī)師張先生來(lái)到鴻萌數(shù)據(jù)安全中心求助,他的花費(fèi)將近一年時(shí)間寫的一份科研論文出了問(wèn)題,現(xiàn)在打開(kāi)全是亂碼。

    事情的起因是這樣的,昨天上午,張先生插上U盤,將這份文檔打開(kāi),進(jìn)行編輯,后來(lái)因?yàn)橛惺滦枰R上外出,張先生沒(méi)有保存并正常關(guān)閉這份文檔,就將U盤拔下來(lái)出去了。等下午他又重新打開(kāi)這個(gè)文檔的時(shí)候,就出現(xiàn)了亂碼的問(wèn)題。如下圖(為保護(hù)客戶隱私,相關(guān)部分做了遮蔽處理):

    客戶損壞的文檔

    鴻萌工程師利用碎片文檔恢復(fù)處理技術(shù)成功將客戶文檔恢復(fù)至張先生文檔損壞前一天的狀態(tài),為張先生節(jié)省了寶貴時(shí)間,也避免了花費(fèi)精力去重新寫這篇論文。

    日常生活中我們經(jīng)常會(huì)遇到WORD、EXCEL或者PPT等文檔損壞的情況,這時(shí),您千萬(wàn)不要再在損壞文檔的分區(qū)或者U盤等存儲(chǔ)介質(zhì)上,做反復(fù)的打開(kāi)嘗試,避免數(shù)據(jù)遭到徹底破壞。因?yàn)槲臋n損壞設(shè)計(jì)磁盤底層碎片的操作,所以不建議客戶自己嘗試操作,最好的辦法就是立即關(guān)閉計(jì)算機(jī)找專業(yè)數(shù)據(jù)安全公司協(xié)助。

    鴻萌在數(shù)據(jù)安全行業(yè)已經(jīng)默默耕耘了十三年,專業(yè)的數(shù)據(jù)修復(fù)技術(shù)和豐富的實(shí)踐經(jīng)驗(yàn)是您珍貴數(shù)據(jù)安全恢復(fù)的保障。我們隨時(shí)歡迎您的咨詢。


    中文亂碼問(wèn)題在我們?nèi)粘i_(kāi)發(fā)中司空見(jiàn)慣,那么亂碼問(wèn)題是如何產(chǎn)生的呢?又怎樣去解決亂碼問(wèn)題呢?本文將結(jié)合基本概念和例子展開(kāi)闡述,希望大家有收獲。

    一個(gè)簡(jiǎn)單亂碼的例子

    package whx;
    
    import java.io.UnsupportedEncodingException;
    
    public class TestEncodeAndDecode {
        public static void main(String[] args) throws UnsupportedEncodingException {
    
            String str="測(cè)試中文亂碼";
            byte[] b=str.getBytes("GBK");
            System.out.println(new String (b,"UTF-8"));
        }
    }
    復(fù)制代碼

    用GBK編碼,用utf-8解碼,產(chǎn)生亂碼,運(yùn)行結(jié)果如下:



    相關(guān)基礎(chǔ)概念

    要理解亂碼的根源,需要先了解清楚位、字節(jié)、字符、字符集等相關(guān)概念。

    位(bit)

    位是計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)的最小單位,1或者0就表示1位,如10010010就表示8位的二進(jìn)制數(shù)。

    字節(jié)

    字節(jié)是計(jì)算機(jī)信息技術(shù)用于計(jì)量存儲(chǔ)容量的一種計(jì)量單位,作為一個(gè)單位來(lái)處理的一個(gè)二進(jìn)制數(shù)字串,是構(gòu)成信息的一個(gè)小單位。

    1 B=8 bit (1字節(jié)等于8位)
    1 KB=1024 B=1024 字節(jié)
    1 MB=1024 KB 
    1 GB=1024 MB
    1 TB=1024 GB
    復(fù)制代碼

    字符

    字符是指計(jì)算機(jī)中使用的字母、數(shù)字、字和符號(hào),是數(shù)據(jù)結(jié)構(gòu)中最小的數(shù)據(jù)存取單位。如a、A、B、b、大、+、*、%等都表示一個(gè)字符;

    在 ASCII 編碼中,一個(gè)英文字母字符存儲(chǔ)需要1個(gè)字節(jié)。
    在 GB 2312 編碼或 GBK編碼中,一個(gè)漢字字符存儲(chǔ)需要2個(gè)字節(jié)。
    在UTF-8編碼中,一個(gè)英文字母字符存儲(chǔ)需要1個(gè)字節(jié),一個(gè)漢字字符儲(chǔ)存需要3到4個(gè)字節(jié)。
    在UTF-16編碼中,一個(gè)英文字母字符或一個(gè)漢字字符存儲(chǔ)都需要2個(gè)字節(jié)
    在UTF-32編碼中,世界上任何字符的存儲(chǔ)都需要4個(gè)字節(jié)
    復(fù)制代碼

    字符集

    字符集是多個(gè)字符的集合,字符集種類較多,每個(gè)字符集包含的字符個(gè)數(shù)不同。常見(jiàn)字符集名稱:

    ASCII字符集
    GB2312字符集
    Unicode字符集
    復(fù)制代碼

    編碼、解碼

    計(jì)算機(jī)只認(rèn)識(shí)二進(jìn)制的1和0,而人類都是有自己的語(yǔ)言的,雙方要能進(jìn)行信息交流,必須要有從文字到0、1的轉(zhuǎn)化,以及0、1到文字轉(zhuǎn)化。

    編碼: 就是將文本字符轉(zhuǎn)換成計(jì)算機(jī)可以識(shí)別的0、1機(jī)器碼。

    解碼: 將存儲(chǔ)在計(jì)算機(jī)中的二進(jìn)制數(shù)解析成文字、字符。

    常見(jiàn)字符集及其編碼方式

    常見(jiàn)字符集有ASCII、GBK、Unicode等

    ASCII字符集

    ASCII字符集:它包括英文字母、阿拉伯?dāng)?shù)字和西文符號(hào)等可顯示字符,以及回車鍵、退格等控制字符。

    ASCII 編碼:它是美國(guó)制定的字符編碼,用于將英語(yǔ)字符轉(zhuǎn)化為二進(jìn)制,規(guī)定了128個(gè)字符的編碼。

    GBXXXX字符集

    GBXXXX系列包括GB2312、GBK、GB18030,適用于漢字處理、漢字通信等系統(tǒng)之間的信息交換。

    GB2312

    • 全稱是《信息交換用漢字編碼字符集》,支持六千多漢字。
    • 國(guó)家簡(jiǎn)體中文字符集,兼容ASCII,中國(guó)大陸和新加坡都采用此編碼。
    • 每個(gè)漢字及符號(hào)以兩個(gè)字節(jié)來(lái)表示。
    • 高字節(jié)從A1~F7, 低字節(jié)從A1~FE。將高字節(jié)和低字節(jié)分別加上0XA0即可得到編碼。

    GBK

    • GBK全稱《漢字內(nèi)碼擴(kuò)展規(guī)范》,擴(kuò)展了GB2312,加入對(duì)繁體字的支持,支持兩萬(wàn)多漢字。
    • 每個(gè)漢字及符號(hào)也是以兩個(gè)字節(jié)來(lái)表示。
    • 高字節(jié)從81~FE,低字節(jié)從40~FE。

    GB18030

    • GB 18030,全稱《信息技術(shù) 中文編碼字符集》,與GB2312、GBK編碼兼容,可支持27484個(gè)文字
    • 采用變長(zhǎng)多字節(jié)編碼,每個(gè)字可以由1個(gè)、2個(gè)或4個(gè)字節(jié)組成。
    • 1字節(jié)從00~7F; 2字節(jié)高字節(jié)從81~FE,低字節(jié)從40到7E和80到FE;4字節(jié)第一三字節(jié)從81~FE,第二四字節(jié)從30~39。

    Unicode 字符集

    Unicode是國(guó)際組織制定的可以容納世界上所有文字和符號(hào)的字符編碼方案。UNICODE字符集有多種編碼方式,分別是UTF-8,UTF-16和UTF-32。

    UTF-8

    • 是針對(duì)Unicode的一種可變長(zhǎng)度字符編碼。
    • 它可以用來(lái)表示Unicode標(biāo)準(zhǔn)中的任何字符,而且其編碼中的第一個(gè)字節(jié)仍與ASCII相容,使得原來(lái)處理ASCII字符的軟件無(wú)須或只進(jìn)行少部份修改后,便可繼續(xù)使用。
    • UTF-8使用1~4字節(jié)為每個(gè)字符編碼(ASCIl字符只需1字節(jié)編碼, 拉丁文、希臘文等需要兩個(gè)字節(jié)編碼, 中日韓文字使用三字節(jié)編碼, 其他極少使用的語(yǔ)言字符使用4字節(jié)編碼號(hào))

    UTF-16

    • 把Unicode字符集的抽象碼位映射為16位長(zhǎng)的整數(shù)(即碼元)的序列,用于數(shù)據(jù)存儲(chǔ)或傳遞。
    • UTF-16比起UTF-8,好處在于大部分字符都以固定長(zhǎng)度的字節(jié) (2字節(jié)) 儲(chǔ)存,但UTF-16卻無(wú)法兼容于ASCII編碼。

    UTF-32

    • 一種將Unicode字符編碼的協(xié)定,對(duì)每一個(gè)Unicode碼位使用恰好32位元,其它的 Unicode 編碼方式則使用不定長(zhǎng)度編碼。
    • 采用4字節(jié)編碼,處理速度比較快,但是浪費(fèi)空間,傳輸速度慢。

    一個(gè)例子理解編碼解碼的廬山面目

    我們敲代碼的程序員,接觸最多的就是“hello word”。計(jì)算機(jī)只認(rèn)識(shí)0和1,它是怎么展示hello word的呢?

    上一小節(jié),我們已經(jīng)知道編碼、字符集的知識(shí)。我們可以用ASCII編碼,把“hello word”翻譯成計(jì)算機(jī)認(rèn)識(shí)的0、1。有興趣的朋友可以去查一下 ASCII對(duì)照表

    計(jì)算機(jī)存儲(chǔ)的是hello world的0、1二進(jìn)制碼,先將二進(jìn)制碼解碼成對(duì)應(yīng)的字符,然后在屏幕上渲染出來(lái),我們看到的就是hello world了

    亂碼如何產(chǎn)生的呢?

    亂碼產(chǎn)生的原因主要有兩個(gè),一是文本字符編碼過(guò)程與解碼過(guò)程使用了不同的編碼方式,二是使用了缺少某種字體庫(kù)的字符集引起的亂碼

    編碼與解碼使用了不同的編碼方式

    例子中,用了utf-8編碼,使用了GBK解碼,結(jié)果產(chǎn)生了亂碼。因?yàn)樵趗tf-8中,一個(gè)漢字用三個(gè)字節(jié)編碼,而GBK中,每個(gè)漢字用兩個(gè)字節(jié)表示,所以產(chǎn)生了亂碼。

    使用了缺少某種字體庫(kù)的字符集

    我們知道GB2312是不支持繁體字的,所以使用缺少某種字體庫(kù)的字符集編碼,會(huì)產(chǎn)生亂碼。

    亂碼又如何解決呢

    使用支持要展示字體的字符集編碼,并且編解碼使用同一種編碼方式,就可以解決亂碼問(wèn)題了。

    接下來(lái)列舉一下亂碼的經(jīng)典場(chǎng)景與解決方案

    IntelliJ Idea亂碼問(wèn)題

    IDE項(xiàng)目中的中文亂碼問(wèn)題?File->settings->Editor->File Encodings,設(shè)置一下編碼方式utf-8

    IDE控制臺(tái)中文亂碼?嘗試一下這種方式,打開(kāi)IDE安裝目錄,找到

    在文本末尾添加-Dfile.encoding=UTF-8

    數(shù)據(jù)庫(kù)亂碼問(wèn)題

    查看數(shù)據(jù)庫(kù)編碼:

    show variables like 'character_set%'
    復(fù)制代碼

    設(shè)置session、global范圍的編碼方式

    //session 范圍
    set character_set_server=utf8;
    set character_set_database=utf8;
    //global 范圍
    set global character_set_database=utf8;
    set global character_set_server=utf8;
    復(fù)制代碼

    session、global范圍編碼,重啟mysql可能編碼又變回去了,可以嘗試另外一種方式。在mysql(windows環(huán)境)的my.ini配置文件中修改或添加下列內(nèi)容

    [mysql]
    default-character-set=utf8 
    [mysqld]
    default-character-set=utf8 
    [client]
    default-character-set=utf8
    復(fù)制代碼

    編碼角度的亂碼問(wèn)題

    寫代碼的時(shí)候出現(xiàn)中文亂碼?追蹤定位到編碼解碼的地方,設(shè)置用同一種編碼方式。

    寫在最后

    需更加深入學(xué)習(xí)java知識(shí)的小伙伴以及即將參加面試的小伙伴可以購(gòu)買以下教程哦!

    多朋友在打開(kāi)word文檔的時(shí)候會(huì)出現(xiàn)亂碼,小編曾經(jīng)也遇到過(guò)這個(gè)問(wèn)題。word打開(kāi)亂碼可能原因有很多種,小編收集了一些解決方法,有問(wèn)題的朋友可以逐個(gè)去試試。

    word打開(kāi)是亂碼解決方法六:顯示域值

    單擊菜單“文件”——“選項(xiàng)”,此時(shí)會(huì)打開(kāi)一個(gè)“Word 選項(xiàng)”窗口,我們切換到“高級(jí)”項(xiàng),然后去掉勾選“顯示文檔內(nèi)容”區(qū)域中的“顯示域代碼而非域值”選項(xiàng),并單擊“確定”按鈕。

    word打開(kāi)是亂碼解決方法一:打開(kāi)并修復(fù)

    單擊菜單“文件”——“打開(kāi)”,選擇要恢復(fù)的文件,單擊“打開(kāi)”按鈕旁邊的箭頭,然后單擊“打開(kāi)并修復(fù)”。

    word打開(kāi)是亂碼解決方法二:提取文字

    單擊菜單“工具”——“選項(xiàng)”——“常規(guī)”選項(xiàng)卡,勾選“打開(kāi)時(shí)確認(rèn)轉(zhuǎn)換”復(fù)選框, “確定”。 按ctrl+O,彈出打開(kāi)對(duì)話框,在“文件類型”框中,單擊“從任意文件中恢復(fù)文本”,和正常一樣打開(kāi)文檔。

    word打開(kāi)是亂碼解決方法三:轉(zhuǎn)換文檔格式

    將word打開(kāi)是亂碼的文件轉(zhuǎn)換為另一種格式,然后再將其轉(zhuǎn)換回Word 文檔格式。打開(kāi)受損文檔,另存為,“保存類型”為:RTF 格式(*.rtf)。

    當(dāng)轉(zhuǎn)換成rtf格式后Word打開(kāi)仍然是亂碼,可以將文件再次轉(zhuǎn)換為純文本格式(*.txt),再轉(zhuǎn)換回.doc格式。不過(guò),轉(zhuǎn)為txt文件,所有的圖片和表格等信息會(huì)丟失。

    word打開(kāi)是亂碼解決方法四:刪除格式信息法

    刪除格式信息有時(shí)也能解決Word亂碼問(wèn)題。打開(kāi)亂碼文檔,單擊菜單“工具——選項(xiàng)——編輯”標(biāo)簽,不勾選“使用智能段落選擇范圍”,然后將這些內(nèi)容粘貼復(fù)制到新的word中。

    word打開(kāi)是亂碼解決方法五:查毒和禁止自動(dòng)宏的運(yùn)行

    查看電腦和文檔是否遭病毒入侵。

    如果某個(gè)Word文檔中包含有錯(cuò)誤的自動(dòng)宏代碼,當(dāng)試圖打開(kāi)該文檔時(shí),其中的自動(dòng)宏由于錯(cuò)誤不能正常運(yùn)行,從而引發(fā)不能打開(kāi)文檔的錯(cuò)誤。在“Windows資源管理器”中,按Shift鍵,再雙擊該Word文檔,可阻止自動(dòng)宏的運(yùn)行,從而能夠打開(kāi)文檔。

    以上就是常見(jiàn)的Word文檔打開(kāi)是亂碼的解決方法,如果以上方法還不能解決,那我建議重新安裝下Word試試。

網(wǎng)站首頁(yè)   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有