1.utf-8轉換為unicode編碼
utf-8編碼不能直接轉換為gbk漢字編碼,中間需要先轉換為unicode編碼,在由unicode編碼轉換為gbk漢字編碼
2.unicode編碼轉換為gbk漢字編碼
unicode漢字編碼與gbk漢字編碼的對照關係為,兩個unicode編碼對應乙個漢字,並且在unicode編碼中,漢字編碼的起始位置是0x4e00,也就是說將utf-8漢字編碼轉換為unicode編碼時需要偏移0x4e00去讀取資料。
1.從flash讀取unicode編碼
unsigned short mb_uni2gb_table=;
uint16_t read_flash_unicode(uint16_t* unicode,uint32_t readaddr,uint16_t num_len)
2.utf-8轉換為unicode編碼
int switchtogbk(const unsigned char* pszbufin, int nbufinlen, unsigned char* pszbufout, int* pnbufoutlen)
else if((pszbufin[i] & 0xe0) == 0xc0)// 2位
else if ((pszbufin[i] & 0xf0) == 0xe0) // 3位
else
}*pnbufoutlen = j;
return 0;
}
3.unicode編碼轉換為gbk漢字編碼
void get_hzmat(unsigned char *code,unsigned char *mat)
if(y>(y0+height-size))break;//越界返回
if(*str==13)//換行符號
else
lcd_showchar(x,y,*str,fc);//有效部分寫入
str++;
x+=size/2; //字元,為全字的一半 }}
else//中文
if(y>(y0+height-size))break;//越界返回
show_font(x,y,str,fc); //顯示這個漢字,空心顯示
str+=2;
x+=size;//下乙個漢字偏移
}
} gpio_pin_set(u32bit(lcd_cs));
}
GBK和UTF8之間的轉換
gbk和utf8之間的轉換 my study by cnangel on october 8,2012 10 10 am no comments 關於gbk和utf 8之間的轉換,很多初學者會很迷茫。一般來說gbk和utf 8是文字的編碼方式,其對應的內碼是不一樣的,所以gbk和utf 8的轉換需要...
gbk 轉換 utf 8問題
問題一 檔案已經另存為了utf 8碼,但關閉後重新開啟就自動變成了ansi編碼 答 原因是該檔案中沒有包含任何中文字元,如果該檔案有包含中文字元,將檔案另存為utf 8編碼後,中文字元會以3個位元組的寬度來儲存 要看16進製制 這樣,在第二次開啟檔案時,編輯器會自動將檔案識別為utf 8編碼。請仔細...
GBK與UTF 8的區別
gbk的文字編碼是雙位元組來表示的,即不論中 英文本元均使用雙位元組來表示,只不過為區分中文,將其最高位都定成1。至於utf 8編碼則是用以解決國際上字元的一種多位元組編碼,它對英文使用8位 即乙個位元組 中文使用24位 三個位元組 來編碼。對於英文本元較多的論壇則用utf 8節省空間。gbk包含全...