亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺析亂碼的產(chǎn)生原因及消除技術(shù)

        2014-07-14 02:21:05余江平王偉
        中國科技縱橫 2014年6期

        余江平+王偉

        【摘 要】 用戶在瀏覽網(wǎng)頁和進行協(xié)議分析的過程中,經(jīng)常會遇到出現(xiàn)亂碼的情況,亂碼問題阻礙了正常工作。本文首先闡述了字符集和字符編碼的基本原理,接下來介紹了審計系統(tǒng)里面協(xié)議分析、報表生成等行為中亂碼產(chǎn)生的原因,接下來介紹了消除亂碼的辦法。

        【關(guān)鍵詞】 字符編碼 字符集 審計系統(tǒng) 亂碼

        1 引言

        計算機中數(shù)據(jù)信息可分為數(shù)值和非數(shù)值信息。非數(shù)值信息包括了字母、各種控制符號、圖形符號等,它們都以二進制編碼方式存入計算機并得以處理。我們在屏幕上看到的英文、漢字等字符是二進制數(shù)轉(zhuǎn)換之后的結(jié)果。通俗的說,按照何種規(guī)則將各種字符集文字存儲在計算機中,如'a'用什么表示,“你好”用什么表示,稱為"編碼";反之,將存儲在計算機中的二進制數(shù)解析顯示出來,稱為"解碼",如果使用了錯誤的解碼規(guī)則,則可能導(dǎo)致亂碼。

        2 字符集和字符編碼

        2.1 概念

        首先介紹相關(guān)概念。字符,即抽象意義上的一個符號。例如'1', '我', 'a', ‘%,'$', '¥', 。。。。字節(jié),即計算機中的數(shù)據(jù)的存儲單元,是一個8位的二進制數(shù)。 例如0x01, 0x12,。。。。字符集,即多個字符的集合,而這些字符可能是各國家文字、標(biāo)點符號、圖形符號、數(shù)字等。字符編碼:規(guī)定每個“字符”分別用一個字節(jié)還是多個字節(jié)存儲,用哪些字節(jié)什么形式來存儲。

        編碼(encoding)和字符集不同。字符集只是字符的集合,不一定適合作網(wǎng)絡(luò)傳送、處理,有時須經(jīng)編碼(encode)后才能應(yīng)用如Unicode可依不同需要以UTF-8、UTF-16、UTF-32等方式編碼。

        2.2 常見的字符集合對應(yīng)字符編碼

        常見字符集名稱:ASCII字符集、Unicode字符集等。計算機要準(zhǔn)確的處理各種字符集文字,需要進行字符編碼,以便計算機能夠識別和存儲各種文字。

        2.2.1 ASCII字符集與ASCII編碼

        ASCII(American Standard Code for Information Interchange,美國信息交換標(biāo)準(zhǔn)代碼)它主要用于顯示現(xiàn)代英語,它是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng)。

        ASCII編碼:將ASCII字符集轉(zhuǎn)換為計算機可以接受的數(shù)字系統(tǒng)的數(shù)的規(guī)則。使用7位(bits)表示一個字符,共128字符;但是7位編碼的字符集只能支持128個字符為了表示更多的常用字符對ASCII進行了擴展,ASCII擴展字符集使用8位(bits)表示一個字符,共256字符 詳細可以查詢ASCII字符代碼表,其缺點是只能顯示現(xiàn)代英語單字節(jié)字符,一個字節(jié)(8位)存放一個字符。

        2.2.2 GB2312等字符集和ANSI編碼

        為使計算機支持更多語言,通常使用0x800~xFF范圍的2個字節(jié)來表示1個字符。比如漢字'中'在中文OS中,使用[0xD6,0xD0]這兩個字節(jié)存儲。

        不同的國家和地區(qū)制定了不同的標(biāo)準(zhǔn),由此產(chǎn)生了GB2312,BIG5,JIS等各自的編碼標(biāo)準(zhǔn)。這些使用2個字節(jié)來代表一個字符的各種漢字延伸編碼方式,稱為ANSI編碼。在簡體中文系統(tǒng)下,ANSI 編碼代表GB2312編碼,在日文操作系統(tǒng)下,ANSI編碼代表JIS編碼。

        2.2.3 UNICODE字符集和utf-8 utf-16UTF-32編碼

        計算機存放字符串時,改為存放每個字符在UNICODE字符集中的序號。目前計算機一般使用2個字節(jié)(16位)來存放一個序號(DBCS),因此,這種方式存放的字符也被稱作寬字節(jié)字符。例如"中文123"占五個序號,10個字節(jié)

        我們知道,ASCII字符是單個字節(jié)的,比如“A”的ASCII是65。而Unicode是雙字節(jié)的,比如“A”的Unicode是0065,這就造成了一個非常大的問題:以前處理ASCII的那套機制不能被用來處理Unicode了。

        另一個更加嚴重的問題是,C語言使用'\0'作為字符串結(jié)尾,而Unicode里恰恰有很多字符都有一個字節(jié)為0,這樣一來,C語言的字符串函數(shù)將無法正常處理Unicode,所以就產(chǎn)生了UTF,UTF= UCS Transformation Format,即UCS轉(zhuǎn)換(傳輸)格式。它是將Unicode編碼規(guī)則和計算機的實際編碼對應(yīng)起來的一個規(guī)則?,F(xiàn)在流行的UTF有2種:UTF-8和UTF-16,都是Unicode的編碼實現(xiàn)。

        UTF-8兼容ASCII。UTF-8是變長的,將Unicode編碼為00000000-0000007F的字符,用單個字節(jié)來表示;00000080-000007FF的字符用兩個字節(jié)表示;00000800-0000FFFF的字符用3字節(jié)表示,Utf-16不兼容ASCII。

        3 產(chǎn)生亂碼的可能原因以及解決方法

        (1)取文本文件時,如果將“字節(jié)串”簡單地作為單字節(jié)字符串,采用每“一個字節(jié)”就是“一個字符”的方法進行轉(zhuǎn)化 那可能就會出現(xiàn)亂碼。

        解決方法:應(yīng)該將“字節(jié)串”作為ANSI字符串,采用適當(dāng)?shù)木幋a來得到UNICODE字符串,有可能“多個字節(jié)”才能得到“一個字符”。

        (2)協(xié)議分析過程中,例如http中與字符集和字符編碼相關(guān)的消息頭是Accept-Charset:瀏覽器申明自己接收的字符集和字符編碼如gb2312,utf-8。Content-Type:WEB服務(wù)器告訴瀏覽器自己響應(yīng)的對象的類型和字符集。例如:Content-Type:text/html;charset='gb2312',所以是根據(jù)這兩個進行編碼轉(zhuǎn)換的。

        (3)抓取數(shù)據(jù)包時候可能遇到的編碼。URL編碼:URL編碼遵循每對name/value,由&;符分每對來自表單的name/value由=符分開任何特殊的字符。Base64編碼:Base64是網(wǎng)絡(luò)上最常見的用于傳輸8Bit字節(jié)編碼的編碼方式之一,Base64編碼可用于在HTTP環(huán)境下傳遞較長的標(biāo)識信息,在Xml格式文件明顯有使用到。

        4 結(jié)語

        本文闡述了字符集和字符編碼的基本原理,介紹了審計系統(tǒng)里面協(xié)議分析、報表生成等行為中亂碼產(chǎn)生的原因,介紹了消除亂碼的辦法。

        參考文獻:

        [1]徐新華.字符編碼詳解. http://polaris.blog.51cto.com/1146394/377468

        [2]吳秦.字符集和字符編碼. http://www.cnblogs.com/skynet/archive/2011/05/03/2035105.html

        [3]字符,字節(jié)和編碼. http://www.regexlab.com/zh/encoding.htmendprint

        久久精品日本美女视频| 无码尹人久久相蕉无码| 国产成人一区二区三区在线观看| 亚洲毛片αv无线播放一区| 国产精品久久国产三级国不卡顿 | 2021年最新久久久视精品爱| 亚洲一本之道高清在线观看| 精品高清免费国产在线| 国产偷久久久精品专区| 国产喷水福利在线视频| 波多野无码AV中文专区| 一区二区三区精品偷拍av| 少妇下面好爽好紧好湿一区二区| 久久精品欧美日韩精品| 91视频88av| 在线看不卡的国产视频| 亚洲综合网国产精品一区| 日本免费一区二区三区| 性夜影院爽黄a爽在线看香蕉 | 免费人成网站在线播放| 国产精品偷窥熟女精品视频| 精品无码中文字幕在线| 中文字幕无码免费久久99| 青青草在线公开免费视频| 日本一二三区免费在线| 我和隔壁的少妇人妻hd| 久久亚洲精品11p| 不卡国产视频| 91国内偷拍精品对白| 国产精品一区二区三区在线免费 | 亚洲无码美韩综合| 自由成熟女性性毛茸茸应用特色| 亚洲av永久无码精品三区在线| 亚洲一区日韩无码| 色婷婷精品国产一区二区三区| 国产在线播放一区二区不卡| 国产精品妇女一二三区| 中文无码成人免费视频在线观看| 国产精品一级av一区二区| 国产三级国产精品国产专播| 樱桃视频影院在线播放|