LPCWSTR lpText = L” LED顯示屏”;
此時,通過lpText就可以獲取該段文字的UNICODE編碼,只不過現在的lpText指向的是一個16bit的緩沖區,要以WORD的方式獲取。其結果為:“004C 0045 0044 663E 793A 5C4F”。 表示為byte陣列,就是:“4C 00 45 00 44 00 3E 66 3A 79 4F 5C”。
5,發送文字的UNICODE編碼時,要做什么處理
控制卡在接收文字時,并不是原封不動的接收其UNICODE編碼,而是要做一定的處理,以便于控制卡顯示。具體處理代碼為:
(其中lpStr是要轉換的原始UNICODE字串,pBuff是用于存放轉換結果的緩沖區)
void CopyWchar(LPCWSTR lpStr, WORD *pBuff)
{
int nCount, nLen = 0;
nCount = wcslen(lpStr);
WCHAR ch;
for(int i=0; i<nCount; i++)
{
ch = lpStr[i];
if(ch >= 0x80)
{
if(ch <= 0xFF)
ch -= 0x80;
else if(ch >= 0x2000 && ch <= 0x266F)
ch = ch - 0x2000 + 128;
else if(ch >= 0x3000 && ch <= 0x33FF)
ch = ch - 0x3000 + 1648 + 128;
else if(ch >= 0x4E00 && ch <= 0x9FA5)
ch = ch - 0x4E00 + 1648 + 1024 + 128;
else if(ch >= 0xF900 && ch <= 0xFFFF)
ch = ch - 0xF900 + 1648 + 1024 + 20902 + 128;
ch += 128;
}
pBuff[i] = ch;
}
}
將代碼部分轉換為delphi2007代碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/121129.html
標籤:語言基礎/算法/系統設計
下一篇:DCOM連接時提示拒絕訪問
