[導(dǎo)讀]1.讀取UTF-8編碼文本原理首先了解UTF-8的編碼方式,UTF-8采用可變長(zhǎng)編碼的方式,一個(gè)字符可占1字節(jié)-6字節(jié),其中每個(gè)字符所占的字節(jié)數(shù)由字符開(kāi)始的1的個(gè)數(shù)確定,具體的編碼方式如下:U-00000000–U-0000007F:0xxxxxxxU-00000080–U-00...
1.讀取 UTF-8 編碼文本原理首先了解 UTF-8 的編碼方式,UTF-8 采用可變長(zhǎng)編碼的方式,一個(gè)字符可占 1 字節(jié) -6 字節(jié),其中每個(gè)字符所占的字節(jié)數(shù)由字符開(kāi)始的 1 的個(gè)數(shù)確定,具體的編碼方式如下:U-00000000 – U-0000007F: 0xxxxxxx
U-00000080 – U-000007FF: 110xxxxx 10xxxxxx
U-00000800 – U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
U-00010000 – U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
U-00200000 – U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
U-04000000 – U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
因此,對(duì)于每個(gè)字節(jié)如果起始位為“0”則說(shuō)明,該字符占有 1 字節(jié)。如果起始位為“10”則說(shuō)明該字節(jié)不是字符的其實(shí)字節(jié)。如果起始為為 n 個(gè)“1” 1個(gè)“0”,則說(shuō)明改字符占有 n 個(gè)字節(jié)。其中1≤n≤6。因此對(duì)于 UTF-8 的編碼,我們只需要每次計(jì)算每個(gè)字符開(kāi)始字節(jié)的 1 的個(gè)數(shù),就可以確定這個(gè)字符的長(zhǎng)度。GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);border-bottom: 1px solid rgb(238, 238, 238);line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;">2.讀取 GBK 系列文本原理
對(duì)于 ASCII、GB2312、GBK 到 GB18030 編碼方法是向下兼容的?,即同一個(gè)字符在這些方案中總是有相同的編碼,后面的標(biāo)準(zhǔn)支持更多的字符。在這些編碼中,英文和中文可以統(tǒng)一地處理。區(qū)分中文編碼的方法是高字節(jié)的最高位不為 0。因此我們只需處理好 GB18130,就可以處理與他兼容的所有編碼,對(duì)于GB18130 使用雙字節(jié)變長(zhǎng)編碼。單字節(jié)部分從 0×0~0x7F 與 ASCII 編碼兼容。雙字節(jié)部分,首字節(jié)從 0×81~0xFE,尾字節(jié)從 0×40~0x7E以及 0×80~0xFE,與 GBK 標(biāo)準(zhǔn)基本兼容。因此只需檢測(cè)首字節(jié)是否小于 0×81 即可確定其為單字節(jié)編碼還是雙字節(jié)編碼。GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);border-bottom: 1px solid rgb(238, 238, 238);line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;">3.C 代碼實(shí)現(xiàn)
對(duì)于一個(gè)語(yǔ)言處理系統(tǒng),讀取不同編碼的文本應(yīng)該是最基礎(chǔ)的需求,文本的編碼方式應(yīng)該對(duì)系統(tǒng)其他調(diào)用者透明,只需每次獲取一個(gè)字符即可,而不需要關(guān)注這個(gè)文本的編碼方式。從而我們定義了抽象類(lèi) Text,及其接口ReadOneChar,并使兩個(gè)文本類(lèi) GbkText 和 UtfText 繼承這個(gè)抽象類(lèi),當(dāng)系統(tǒng)需要讀取更多種編碼的文件時(shí),只需要定義新的類(lèi)然后繼承該抽象類(lèi)即可,并不需要更改調(diào)用該類(lèi)的代碼。從而獲得更好的擴(kuò)展性。更好的方式是使用簡(jiǎn)單工廠模式,使不同的文本編碼格式對(duì)于調(diào)用類(lèi)完全透明,簡(jiǎn)單工廠模式詳解請(qǐng)參看:設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖A(chǔ)。其中 Text 抽象類(lèi)的定義如下:#ifndef TEXT_H
#define TEXT_H
#include
#include
using namespace std;
class Text
{
protected:
char * m_binaryStr;
size_t m_length;
size_t m_index;
public:
Text(string path);
void SetIndex(size_t index);
virtual bool ReadOneChar(string
欲知詳情,請(qǐng)下載word文檔
下載文檔
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
北京 2025年6月23日 /美通社/ -- 福建升騰資訊有限公司(簡(jiǎn)稱(chēng)升騰)日前曝光了一款新品國(guó)產(chǎn)信創(chuàng)筆記本電腦——M460 2。這是升騰基于兆芯開(kāi)先KX-7000處理器推出的首款筆記本,加上此前的P410 2臺(tái)式機(jī)...
關(guān)鍵字:
筆記本電腦
處理器
GB
CPU
深圳2025年4月24日 /美通社/ -- 4月23日,2025上海國(guó)際車(chē)展盛大啟幕,全球汽車(chē)產(chǎn)業(yè)的目光聚焦于這場(chǎng)科技與創(chuàng)新的盛宴。在眾多展示亮點(diǎn)中,汽車(chē)AI+應(yīng)用無(wú)疑是最大的熱點(diǎn)之一,“駕控超級(jí)大腦”技術(shù)概念、車(chē)機(jī)交互...
關(guān)鍵字:
GB
EMMC
Flash
PS
上海2025年3月13日 /美通社/ -- 半導(dǎo)體行業(yè)作為全球科技產(chǎn)業(yè)的核心驅(qū)動(dòng)力,近年來(lái)在復(fù)雜環(huán)境中呈現(xiàn)波動(dòng)式增長(zhǎng)。據(jù)SEMI(國(guó)際半導(dǎo)體產(chǎn)業(yè)協(xié)會(huì))數(shù)據(jù)顯示,2023 年全球半導(dǎo)體市場(chǎng)規(guī)模約 5200 億美元...
關(guān)鍵字:
芯片產(chǎn)業(yè)
AI
EDA
GB
深圳2025年3月6日 /美通社/ -- 西班牙時(shí)間3月3日至6日,江波龍首次亮相巴塞羅那MWC2025,以"PTM賦能世界移動(dòng)通信"為主題,攜一系列創(chuàng)新存儲(chǔ)產(chǎn)品參展,引發(fā)廣泛關(guān)注。 作為半導(dǎo)體存儲(chǔ)...
關(guān)鍵字:
移動(dòng)通信
黑科技
SSD
GB
深圳2025年2月20日 /美通社/ -- 1月,江波龍推出了7.2mm×7.2mm的超小尺寸eMMC*,為AI智能穿戴設(shè)備的物理空間優(yōu)化提供了全新的存儲(chǔ)解決方案。繼這款創(chuàng)新封裝存儲(chǔ)產(chǎn)品問(wèn)世后,江波龍?jiān)俅瓮瞥龃┐鞔鎯?chǔ)力作...
關(guān)鍵字:
智能穿戴
智能穿戴設(shè)備
EMMC
GB
深圳2025年1月24日 /美通社/ -- 在智能穿戴設(shè)備的設(shè)計(jì)中,每一毫米都至關(guān)重要。隨著AI技術(shù)的深度融入,智能穿戴設(shè)備不僅需要更強(qiáng)大的性能,還需要在極其有限的空間內(nèi)實(shí)現(xiàn)更多功能。近日,江波龍推出了7.2mm&tim...
關(guān)鍵字:
EMMC
智能穿戴設(shè)備
TIMES
GB
北京2024年10月28日 /美通社/ -- 10月26日,銘瑄在北京金隅喜來(lái)登酒店舉辦了一場(chǎng)大型發(fā)布會(huì),推出了以"智?競(jìng)未來(lái)"為主題的高性能800系列主板。該系列共有12款創(chuàng)新型號(hào),彰顯了銘瑄將自然美學(xué)與尖端科技完美融...
關(guān)鍵字:
IC
英特爾
GB
5G
為AI服務(wù)器與數(shù)據(jù)中心帶來(lái)容量/帶寬/速度三合一升級(jí) 全新架構(gòu)以PCIe Gen5帶寬突破計(jì)算僵局,E3.S 2T規(guī)格為系統(tǒng)擴(kuò)充增添彈性 深圳2024年9月5日 /美通社...
關(guān)鍵字:
內(nèi)存模塊
帶寬
GB
CPU
深圳2024年8月28日 /美通社/ -- 8月27日至29日,江波龍攜旗下行業(yè)類(lèi)存儲(chǔ)品牌FORESEE亮相ELEXCON2024深圳國(guó)際電子展,展示其在存儲(chǔ)領(lǐng)域的最新技術(shù)成果。在此次展會(huì)上,江波龍首次提出PTM(存儲(chǔ)產(chǎn)...
關(guān)鍵字:
電子
GB
SE
FOR
北京2024年8月23日 /美通社/ -- 近日,浪潮信息發(fā)布源2.0-M32大模型4bit和8bit量化版,性能比肩700億參數(shù)的LLaMA3開(kāi)源大模型。4bit量化版推理運(yùn)行顯存僅需23.27GB,處理每token所...
關(guān)鍵字:
模型
顯存
GB
3G
總收入達(dá)9.29億美元,同比增長(zhǎng)56%;GAAP經(jīng)營(yíng)虧損下降,實(shí)現(xiàn)非GAAP經(jīng)營(yíng)利潤(rùn)盈利 百悅澤?全球銷(xiāo)售額達(dá)6.37億美元,同比增長(zhǎng)107%,增強(qiáng)在血液學(xué)領(lǐng)域中的領(lǐng)先地位;BCL2抑制劑sonrotoclax...
關(guān)鍵字:
神州
BSP
GB
ADS
美國(guó)舊金山和中國(guó)蘇州2024年8月2日 /美通社/ -- 信達(dá)生物制藥集團(tuán)(香港聯(lián)交所股票代碼:01801),一家致力于研發(fā)、生產(chǎn)和銷(xiāo)售腫瘤、自身免疫、代謝及心血管、眼科等重大疾病領(lǐng)域創(chuàng)新藥物的生物制藥公司,蘇州圣因生物...
關(guān)鍵字:
SI
血壓
GB
TE
北京2024年7月25日 /美通社/ -- 近日,SGS通標(biāo)標(biāo)準(zhǔn)技術(shù)服務(wù)有限公司(以下簡(jiǎn)稱(chēng):SGS)對(duì)世界綜合樂(lè)器制造商雅馬哈(YAMAHA)旗下全系列樂(lè)器產(chǎn)品依據(jù)新樂(lè)器國(guó)家標(biāo)準(zhǔn)GB 28489-2022以及中國(guó)RoHS...
關(guān)鍵字:
YAMAHA
測(cè)試
GB
BSP
臺(tái)北2024年5月21日 /美通社/ -- 提供針對(duì)AMD WRX90和TRX50主板優(yōu)化的DDR5 OC R-DIMM 提供容量128GB(16GBx8)到768GB(96GBx8),速度5600MHz到8...
關(guān)鍵字:
AMD
內(nèi)存
BSP
GB
(全球TMT2023年8月30日訊)2023年8月29日,TCL正式在海外發(fā)布兩款為用戶視覺(jué)護(hù)航的全新手機(jī)——TCL 40 NXTPAPER和TCL 40 NXTPAPER 5G,其采用了TCL獨(dú)家的“未來(lái)紙”(NXT...
關(guān)鍵字:
TCL
手機(jī)
PAPER
GB
為了加強(qiáng)北美管理團(tuán)隊(duì),擴(kuò)大北美市場(chǎng),HRS任命旅行科技高管Will Pinnell為高級(jí)副總裁企業(yè)旅行采購(gòu)專(zhuān)家Pauline Robin為采購(gòu)咨詢與供應(yīng)商關(guān)系副總裁。 德國(guó)科隆和紐約2023年8月14日 /美通社/ -...
關(guān)鍵字:
RS
PI
GB
BCD
上海2023年2月27日 /美通社/ -- 2月24日,國(guó)際獨(dú)立第三方檢測(cè)、檢驗(yàn)和認(rèn)證機(jī)構(gòu)德國(guó)萊茵TUV大中華區(qū)(以下簡(jiǎn)稱(chēng)"TUV萊茵")為梅菲特(北京)涂料有限公司旗下的都芳植物基環(huán)保內(nèi)墻漆...
關(guān)鍵字:
CHINA
MARK
BSP
GB
適合企業(yè)備份與虛擬化應(yīng)用 上海2023年2月20日 /美通社/ -- 存儲(chǔ)、網(wǎng)通及運(yùn)算解決方案的創(chuàng)新廠商威聯(lián)通®科技 (QNAP®) 推出新款TS-1655桌上型大容量2.5GbE NAS,提供可裝載1...
關(guān)鍵字:
GB
5G
NAS
SSD
深圳2023年1月11日 /美通社/ -- 相比消費(fèi)級(jí)硬盤(pán)(HDD),消費(fèi)級(jí)固態(tài)硬盤(pán)(SSD)憑借傳輸速度快、低功耗、穩(wěn)定性強(qiáng)、重量輕等優(yōu)勢(shì)已成為更主流的選擇。但隨著PC用戶使用場(chǎng)景越來(lái)越豐富,日常辦公學(xué)習(xí)、運(yùn)...
關(guān)鍵字:
SSD
PC
固態(tài)硬盤(pán)
GB
北京2022年12月26日 /美通社/ -- 2022年12月25日,CIAA在線舉行2022年度CIAA團(tuán)體標(biāo)準(zhǔn)發(fā)布會(huì),向社會(huì)公開(kāi)發(fā)布了T/CIAA 103.2-2022《抗菌技術(shù)規(guī)范 第2部分:防霉/抗真菌產(chǎn)品》、T...
關(guān)鍵字:
GB
ISO
BSP
測(cè)試方法