作者jonce007 (汪汪)
看板Programming
標題[問題] oem string 是什麼?
時間Tue Sep 18 13:05:45 2012
最近在看mail list的討論,其中有一段提到:
Hi,
Never use *ANSITOOEM* or any other similar functions.
All what is necessary is correct CP set in HVM by
hb_cdpSelect( <cCP> ) or SET( _SET_CODEPAGE, <cCP> )
(both functions make the same operation)
best regards,
P******
雖然我知道big5中的codepage是cp950,
從來用過 ANSIToOEM() or OEMTOANI()的函數
一直不明白什麼是ansi string 什麼又是oem string,
又google不到中文說明
小弟是自學程式的。請前輩先進不吝說明一下^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.7.68
1F:推 meltice:我只知道windows底層早就都是unicode 115.66.148.136 09/18 14:26
2F:→ meltice:而linux底層卻還是char * 115.66.148.136 09/18 14:26
3F:推 kdjf:樓上不知到在說什麼... kernel當然把一切的東 140.112.245.32 09/18 17:18
4F:→ kdjf:西都當作byte sequence啊 140.112.245.32 09/18 17:18
5F:推 jackace:Windows kernel內部確實很多部分是直接用 1.169.179.48 09/19 07:56
6F:→ jackace:unicode當成字元的基本單元 1.169.179.48 09/19 07:57
7F:→ jackace:不過也有很多地方用的還是ansi string 1.169.179.48 09/19 07:57
8F:推 kdjf:可是linux用C寫的, 沒有在管string的本質吧? 140.112.245.32 09/19 13:15
9F:推 jackace:用c寫一樣可以寫出針對unicode的strcpy 1.169.179.48 09/19 17:15
10F:→ jackace:"底層早就是unicode"的意思是 windows基 1.169.179.48 09/19 17:15
11F:→ jackace:本上很多地方都已經不用char*這種方式去存 1.169.179.48 09/19 17:16
12F:→ jackace:字串了 而對字串的處理也都早有一層針對 1.169.179.48 09/19 17:17
13F:→ jackace:unicode設計的一套string api 1.169.179.48 09/19 17:17
14F:→ jackace:這些API甚至是針對unicode最佳化過的 1.169.179.48 09/19 17:21
15F:→ jackace:我不清楚linux底層有多少比例的code用MBCS 1.169.179.48 09/19 17:23
16F:推 jackace:作為字串儲存 但我想應該也慢慢會改才對 1.169.179.48 09/19 17:27
17F:→ kdjf:底層是指kernel還是libc? 140.112.245.32 09/19 18:29
18F:→ kdjf:linux的libc真的還蠻煩人 140.112.245.32 09/19 19:39
19F:推 jackace:kernel 1.169.179.48 09/19 21:09
20F:推 wowtiger:我覺得先了解 UCS2 和 UTF8 再來討論吧 114.42.0.40 09/20 00:02
21F:→ wowtiger:這樣講感覺根本不了解 Unicode 的規則啊 114.42.0.40 09/20 00:03
22F:→ kdjf:是有看完wiki(英)的說明,是無法理解encoding 140.112.245.32 09/20 21:58
23F:→ kdjf:和核心可以有什麼關係 140.112.245.32 09/20 21:58
24F:→ kdjf:回linux版問,有人提到檔案系統會用到string 140.112.245.32 09/20 21:59
25F:→ kdjf:除此之外,想不到核心中為什麼要有字串操作 140.112.245.32 09/20 22:00