看板 Programming 關於我們 聯絡資訊
最近在看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
meltice:我只知道windows底層早就都是unicode 115.66.148.136 09/18 14:26
meltice:而linux底層卻還是char * 115.66.148.136 09/18 14:26
kdjf:樓上不知到在說什麼... kernel當然把一切的東 140.112.245.32 09/18 17:18
kdjf:西都當作byte sequence啊 140.112.245.32 09/18 17:18
jackace:Windows kernel內部確實很多部分是直接用 1.169.179.48 09/19 07:56
jackace:unicode當成字元的基本單元 1.169.179.48 09/19 07:57
jackace:不過也有很多地方用的還是ansi string 1.169.179.48 09/19 07:57
kdjf:可是linux用C寫的, 沒有在管string的本質吧? 140.112.245.32 09/19 13:15
jackace:用c寫一樣可以寫出針對unicode的strcpy 1.169.179.48 09/19 17:15
jackace:"底層早就是unicode"的意思是 windows基 1.169.179.48 09/19 17:15
jackace:本上很多地方都已經不用char*這種方式去存 1.169.179.48 09/19 17:16
jackace:字串了 而對字串的處理也都早有一層針對 1.169.179.48 09/19 17:17
jackace:unicode設計的一套string api 1.169.179.48 09/19 17:17
jackace:這些API甚至是針對unicode最佳化過的 1.169.179.48 09/19 17:21
jackace:我不清楚linux底層有多少比例的code用MBCS 1.169.179.48 09/19 17:23
jackace:作為字串儲存 但我想應該也慢慢會改才對 1.169.179.48 09/19 17:27
kdjf:底層是指kernel還是libc? 140.112.245.32 09/19 18:29
kdjf:linux的libc真的還蠻煩人 140.112.245.32 09/19 19:39
jackace:kernel 1.169.179.48 09/19 21:09
wowtiger:我覺得先了解 UCS2 和 UTF8 再來討論吧 114.42.0.40 09/20 00:02
wowtiger:這樣講感覺根本不了解 Unicode 的規則啊 114.42.0.40 09/20 00:03
kdjf:是有看完wiki(英)的說明,是無法理解encoding 140.112.245.32 09/20 21:58
kdjf:和核心可以有什麼關係 140.112.245.32 09/20 21:58
kdjf:回linux版問,有人提到檔案系統會用到string 140.112.245.32 09/20 21:59
kdjf:除此之外,想不到核心中為什麼要有字串操作 140.112.245.32 09/20 22:00