如何將16進位元內碼轉換後顯示出中文字 |
答題得分者是:jow
|
conchih
一般會員 發表:41 回覆:33 積分:14 註冊:2003-06-07 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
文字檔?文字檔也是一種 binary code,
什麼是內碼?也是一種 binary code, 65 可以是數字。也可以是文字。 它在電腦中都是存成 65(十進位) 不過當你把它當文字解讀時,它是字母的 a 你把它當數字解讀時,它是 65。 當你用十六進位來解讀這個數時。它是 41 所以。你到底在問什麼? ===================引 用 conchih 文 章=================== 目前讀取一個檔案,其為binary code,非一般的文字檔 但資料讀進來後,其中有些是一般的數字,有些是內碼 請問我要將內碼存在什麼樣的變數型態?並使用何種轉換函數才能讓其顯示出中文字來 這是我用UltraEdit看見的碼 例如:A5 78是台 A8 C8是亞 不知問題描述的是否清楚 |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
|
conchih
一般會員 發表:41 回覆:33 積分:14 註冊:2003-06-07 發送簡訊給我 |
抱歉,小弟對這行不是很懂,所以表達不佳,無法讓大大們看懂
我將檔案格式(在ultra-edit底下看到的)貼上,並附上檔案 問題就是如何將富 邦這三個字讀出並顯示出來 至於前面的股票代碼的部份我已經會用TFILESTREAM的方式讀出了 感謝大大們 img230.imageshack.us/my.php?image=namegi7.jpg conchih.myweb.hinet.net/stockname.dat |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
(1)檔頭Offset=5
(2)RecSize=11, 取前面6個Byte(三個中文字) procedure TForm1.Button1Click(Sender: TObject); var I: Integer; F: TMemoryStream; B: array[0..5] of Char; L: TStringList; begin if FileExists('D:\STOCKNAME.DAT') then begin F := TMemoryStream.Create; try F.LoadFromFile('D:\STOCKNAME.DAT'); L := TStringList.Create; try I := 0; while F.Position < F.Size do begin F.Position := 5 11 * I; if F.Read(B, SizeOf(B)) = SizeOf(B) then L.Add(Trim(B)); Inc(I); end; ListBox1.Items.Text := L.Text; finally FreeAndNil(L); end; finally FreeAndNil(F); end; end; end; |
conchih
一般會員 發表:41 回覆:33 積分:14 註冊:2003-06-07 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |