用C語言實現中文到unicode碼的轉換

2021-09-23 23:15:13 字數 1630 閱讀 3141

由於本人喜歡用notepad++編輯器,該編輯器的好處是小巧靈活,但是有幾個地方做的不足,但是我都能夠很好的採取相應的措施來替代,下面讓我們看看notepad++有哪些地方的不足,進而採取怎樣的措施。

一:notepad++不能開啟16進製制檔案,ue可以實現;

常用解決:我們常用的beyond compare 4(文字比較)可以輕鬆代替notepad++不能看16進製制的問題。

二notepad++不能實現對字母,漢字轉換成ascii碼,uniconde碼。用ue可以輕鬆代替。

常用解決方法:如下面**所寫的,在linux命令下編譯生成可執行檔案,然後就可以執行了,就能實現你相應的功能轉換,我寫這個小工具是為了方便我自己用。

有些朋友就不明白了,既然ue能夠那麼好的實現功能,你為什麼不選擇用ue,所以我在這裡我得說下,這看個人喜好,我喜歡notepad++,小巧,介面直觀,免費。

unicode中文編碼表:這裡!

字元編碼筆記:ascii,unicode和utf-8:這裡!

把中文轉換成uniconde碼:main.c

#include

#include

#include

#include

int main()

printf(" \n");

return 0 ;}

編譯:gcc -finput-charset=gbk -fexec-charset=utf-8 -o main main.c 

上面的編譯命令你照做就可以了,如果你不帶上面的引數編譯會報錯,如下:

main.c:8:24: error:   converting to execution character set: invalid or incomplete multibyte or wide character

這是編碼的問題,如果你在windos上編寫**儲存的格式是gbk,gcc的編碼格式預設是utf-8。

原始檔用不同的編碼方式編寫,會導致執行結果不一樣。

man gcc , /charset     /*檢視gcc的編碼格式解析編碼和執行編碼*/

-finput-charset=charset  表示原始檔的編碼方式, 預設以utf-8來解析

-fexec-charset=charset   表示可執行程式裡的字時候以什麼編碼方式來表示,預設是utf-8

./main 

uniocde: 

0x7f51 0x7edc 0x4eba 0x56 0x53 0x7070 0x9e3d 0x5b50 

!!!!上面編碼可以測試。在pc機上開啟乙個記事本然後把程式寫上去,另存為不同的格式。可以自行嘗試。自行測試後更能夠加深你的理解。

實現對字元和ascii碼之間的轉換(寫的不是很精簡)

/* gets example */

#include

#include

#include

void print_usage(char *file)

int main(int argc,char **ar**)

if(strcmp(ar**[1],"c")==0)

if(strcmp(ar**[1],"a")==0)

return 0;

}編譯:  gcc main.c -o mian      

用C語言實現中文到unicode碼的轉換

首先給大家分享乙個巨牛巨牛的人工智慧教程,是我無意中發現的。教程不僅零基礎,通俗易懂,而且非常風趣幽默,還時不時有內涵段子,像看 一樣,哈哈 我正在學習中,覺得太牛了,所以分享給大家!點這裡可以跳轉到教程 由於本人喜歡用notepad 編輯器,該編輯器的好處是小巧靈活,但是有幾個地方做的不足,但是我...

用C語言實現中文到unicode碼的轉換

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!由於本人喜歡用notepad 編輯器,該編輯器的好處是小巧靈活,但是有幾個地方做的不足,但是我都能夠很好的採取相應的措施來替代,下面讓我們看看notepad 有哪些地方的不足,進而採取怎樣的措施。一 notepad 不能開啟16進製制檔案,ue可以...

用C語言實現FlappyBird

在開始遊戲之前,我們先了解一些輔助函式 void gotoxy int x,int y 將游標調整到 x,y 的位置 void hidecursor 隱藏游標 setconsolecursorinfo getstdhandle std output handle cursor info 我們使用乙個...