vb本身的字串格式就是unicode,用winsock傳送字串的話,會預設把字串轉換為ansi的格式進行傳送。ansi格式,對於英文符號等仍然使用單位元組,漢字使用雙位元組。如果需要進行轉換的話,可以用strconv來進行。 如:
dim bytefilename() as byte
bytefilename = strconv(m_filename, vbfromunicode) ' convert string.
不過如果要傳送unicode格式的字串的話,這樣是不行的,實際傳送的是ansi的。其實如果要傳送unicode的字串的話,只要這樣就可以了。
dim s() as byte
s = "abc你好" ' convert string.
ws.senddata s
VB中的Unicode 和 Ansi 格式
vb中的unicode 和 ansi 格式 visual basic 32 bit 版本的字串處理採用 unicode,也就是說字串在 vb 內部是以unicode 的格式來存放。何謂 unicode?簡單的說,就是每乙個字元都是以 2 byte 的形式表示,而每個 實體字元 就是乙個 字元 因此,...
WINDOWS 中 UNICODE的轉換
include windows.h 需要引用該標頭檔案,使用 wchar multibytetowidechar widechartomultibyte 編碼知識 windows中ansi編碼為本地預設編碼,中文為gbk gb2312,網路傳輸和linux等之中為utf 8。unicode為當前最通...
Qt中的unicode轉換
在qt中,在大多數情況下都是採用unicode的形式儲存的,但是qbytearray實際上是以char的形式儲存的,因此轉換成unicode表示的qstring時需要根據編碼的型別進行轉換。cpp view plain copy include include include include int...