EZsoft 板


LINE

我有一些文字檔,裡面都是中文字 每個檔案大約都有100萬行 想要把內容全部轉成UNICODE的HEX 例如「中」變成「4E2D」 這個轉換不困難,但行數高達100萬行左右 是否有每個檔案能在10秒內完成轉換的高效率程式? --
QR Code



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 173.213.89.40
※ 文章網址: https://webptt.com/m.aspx?n=bbs/EZsoft/M.1547620949.A.DC5.html
1F:→ spfy: 10s連檔案都還沒讀完吧?01/16 15:19
10s太難的話就改30s吧。希望能盡量快。

2F:→ kobe8112: 轉換完放在RAM跟還要存到硬碟內也不一樣01/16 15:34
是要存在硬碟
3F:→ kobe8112: 不對啊,你文字檔原始的編碼格式是啥?01/16 15:45
原始編碼為UNICODE
4F:推 enthos: www.di-mgt.com.au/hexdump-for-windows.html01/16 15:56
試用後覺得不合用。減為20萬行還是花了以分鐘計算的時間 ※ 編輯: shala (173.213.89.40), 01/16/2019 16:58:52
5F:→ kobe8112: 你是要給人看而不是程式要使用的話,01/16 17:09
6F:→ kobe8112: notepad++就有HEX-EDITOR這個外掛模組了,或者使用01/16 17:10
7F:→ kobe8112: UltraEdit這類編輯器01/16 17:11
8F:→ kobe8112: 應該說所有文字編輯器,支援HEX MODE都可以用01/16 17:12
謝謝,不過轉換的目的不是要看,而是要給其他程式使用 ※ 編輯: shala (173.213.89.40), 01/16/2019 17:18:47
9F:→ kobe8112: 給其他程式用,不需要轉啊,程式只要可以讀檔案,直接開01/16 17:28
10F:→ kobe8112: 檔起來不就是你要的答案了?QQ01/16 17:29
說起來有點複雜,總之是需要轉換這一個步驟的。我也希望能省略這一步,但目前還解決 不了QQ ※ 編輯: shala (173.213.89.40), 01/16/2019 18:46:56
11F:推 rick65134: 感覺就是其他程式不是原PO開發的 且只吃HEX01/16 19:12
12F:→ rick65134: 自己寫程式最快啦 這麼單一又大量的功能 值得寫程式01/16 19:13
我有列入未來計畫
13F:→ kobe8112: 還是不太了解,我從文意推測你是用Windows,假設今天你01/16 19:40
14F:→ kobe8112: 開了一個記事本,輸入「中」後存檔,編碼選unicode,01/16 19:41
15F:→ kobe8112: 實際儲存的資料就是4Bytes: 0xFF 0xFE 0x2D 0x4E01/16 19:42
16F:→ kobe8112: 那你希望的這個程式,轉換完以後檔案的raw data是啥呢?01/16 19:42
17F:→ kobe8112: Hex: FF FE 34 00 45 00 32 00 44 00 共10Bytes?01/16 19:45
簡單說就是轉換後的文字檔打開是顯示4E2D這個字串。我要把這個字串拿去餵其他程式 ※ 編輯: shala (173.213.89.40), 01/16/2019 20:15:42
18F:→ rick65134: 每行100中文字 一百萬行 python3.7+ramdisk 40秒01/16 20:14
謝謝參考數據,硬碟確實是一個關卡QQ ※ 編輯: shala (173.213.89.40), 01/16/2019 20:18:33
19F:→ kobe8112: 所以4E2D存檔要用什麼編碼?一樣Windows上所謂的unicode 01/16 20:32
20F:→ kobe8112: (UCS-2-LE)嗎?還是需要再轉其他編碼?這會影響速度 01/16 20:33
21F:→ kobe8112: 能不能傳個範例檔來測試測試XD01/16 20:50
轉換後的檔案我還是用同一種編碼,檔案略大一點,但就圖個方便。 範例檔...其實用字典生成就很類似了。我的檔案會有一些大五碼以外的中文字。
22F:推 rick65134: 你有python3嗎?01/16 21:15
23F:→ kobe8112: 扣除BOM,檔案大小應該會變4倍01/16 21:32
哈哈,我改用UTF-8試試看好了
24F:→ kobe8112: 所以你要餵的那個程式,確定可以吃多種編碼格式? 01/16 23:28
其實不行,所以真的很想換掉那個程式QQ

25F:→ kobe8112: 你的需求,轉換後若用UTF-8,撇開Windows會加BOM來看, 01/16 23:28
26F:→ kobe8112: 跟用ASCII編碼是一樣的大小,也與來源檔大小相同 01/16 23:30
27F:→ xvid: 未實測速度 Akelpad + HexSel plugin 01/17 10:41
28F:→ xvid: 剛實測一下有點lag 01/17 10:46
我再找更好的硬體run看看
29F:推 netio: 試下我寫的 測試30MB文字檔(Unicode)不含讀寫約1秒左右01/17 20:18
30F:→ netio: http://tinyurl.com/y9c8t6v201/17 20:19
31F:→ netio: 在命令列模式下使用 01/17 20:20
感謝,效率提升很有感!是否因為演算法有所改良? 若「不轉換」斷行符號會影響效率嗎?因為轉換後的檔案仍需保持行數不變。
32F:→ kobe8112: 你同一個檔案編碼方式不一致,軟體根本無從判斷啊01/18 09:07
33F:推 netio: 用查表法應該是最快了 事先會吃1G的記憶体 理論上可支持01/18 11:55
34F:→ netio: 500MB的文字檔http://tinyurl.com/ya4gsoxf01/18 11:55
35F:→ netio: 斷行符號會影響一點點效率 01/18 11:57
感謝!斷行符號不太影響效率的話,可否開發一個保持斷行的版本? 另外我發現您的程式會將字串兩兩對調, 以UTF-8的「一二」為例, 轉換前的HEX:E4 B8 80 E4 BA 8C 轉換後的字串:B8 E4 E4 80 8C BA 能改為以原順序輸出嗎?
36F:→ kobe8112: Mapping table只需要一個型別uint16_t 大小256的陣列吧?01/18 12:52
37F:→ kobe8112: 然後前面講錯,依原PO需求的UCS-2轉UTF-8大小變2倍才對 01/18 12:53
38F:推 netio: 是256沒錯 另增加字元順序選項http://tinyurl.com/yaaakywe 01/18 16:09
感謝! 能否再增加不轉換斷行符號的選項?困難的話我自己再加工替換
39F:推 rick65134: 效率提升的問題應該是因為python本身就不是讓你拚速度01/18 16:24
40F:→ kobe8112: UTF-8沒有BE LE的區別耶... 01/18 17:05
41F:推 netio: 內定就是不轉換了 還是你要多個選項?不支持Utf8喔 01/18 17:42
原來如此,我以為也支援UTF8。那沒問題了,非常感謝! ※ 編輯: shala (45.56.160.202), 01/18/2019 19:55:44
42F:推 Bencrie: 你是要存成 source code 喔?vim 的 xxd -i 01/20 23:39



like 熱門文章




like.gif 您可能會有興趣的文章
icon.png[食記] 台中西屯路二段 三姊妹雲緬小吃
icon.png[眼殘] 瓶蓋我猜不透你
icon.png[分享] 楚門 Trumon G-1852S 簡易開箱心得
icon.png[公告] 置底醫生的那篇推文
icon.pngRe: [洽特] [柚木N’]ずっと好きだった 第六話
icon.pngRe: [閒聊] 月曜日のたわわ
icon.png[創作] 自製孵蛋器
icon.png[問題] 需要縮鼻翼嗎
icon.png[美圖] 160407 Nana @SURE 四月號雜誌(2016)B
icon.png[心得] 紅米Note3特製版刷機
icon.png[情報] 公家機關單辦門號案
icon.png[閒聊] 同人漫畫分享-西野 ININ聯盟2即將上硬
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[問題] 這是烙印嗎?LG G5 speed
icon.png[資訊] ivideo wifi FB粉絲優惠序號
icon.png[問題] 41901 的耳機有比 E9 原廠耳機 好嗎?
icon.png[閒聊] 尋訪東京吉原泡泡浴心得
icon.png[討論] 沒有隊長X巴奇以外的選擇了嗎?
icon.png[情報] 顏值高:小米Note2綠色/紫色版亮相CES20
icon.pngRe: [討論] 中華大4G金省/金讚/大七喜購機價格整理
icon.png[問題] 請問鄭守柔醫師還有在看診嗎?
icon.png廚房報價單
icon.png[閒聊] 真的很喜歡這位姊姊>////<
icon.png[討論] 大家小時候暗戀的卡通男主角?
icon.pngRe: [難過] 林奕含好像走了
icon.pngRe: [閒聊] 女生會討厭胸奴人嗎?
icon.png[正妹] 清水あいり  (奶大圖多)
icon.png[正妹] 大胃王正妹 千千
icon.png[爆卦] 小英競選總部開幕 整條街擠爆看不到盡頭
icon.png[LIVE] 奶酪陷阱 EP14
icon.png[大哭] 這樣穿才是流行
icon.pngRe: [16冬] 為這美好的世界獻上祝福! 02
icon.png[情報]原價屋!EZLINK Panzer V 240GB只要1680元
icon.png[閒聊] 腦袋在晃動到底是什麼感覺?
icon.png[情報] 石頭微博更新
icon.png[神人] ULT - 100 第四位女優
icon.png[新聞] 《閃亂神樂PBS》釋新角 禁斷角色「小百
icon.pngRe: [閒聊] 精靈幻想記(有雷)
icon.png[抱怨] 淘寶增利物流也稱重的太不老實了
icon.png[轉錄] 7.0上線後你該做的事情及介紹 不完全指北

請輸入看板名稱,例如:WOW站內搜尋

TOP