pythonchm中文
1. 誰有python 中文api幫助文檔chm格式的啊
Python只有txt、pdf、epub、html款,沒有chm款。
在此處可以在線查看Python文檔:Python 文檔(中文)
在此處可以下載txt、pdf、epub、html的Python 3.8.5文檔:Python 3.8.5 文檔下載
2. 在中文版 Windows 上查看 python.chm,如何消除亂碼
解決中文Windows上Python chm亂碼的難題
在Python 3.6及更高版本的Windows環境中,遇到一個令人頭痛的問題——Python的官方文檔(python.chm)在中文版Windows上顯示異常,中文字元出現亂碼。問題的核心在於,Python的HTML字元編碼從Unicode轉換為Windows-1252,而Windows自帶的chm查看器hh.exe卻依賴於IE瀏覽器的內核,而IE並不支持這種編碼。
原因解析
Windows chm查看器默認使用GBK編碼,而Python 3.6之後的chm文件使用Windows-1252,這導致了hh.exe無法正確識別。即便手動選擇西歐(ISO)編碼,也只是臨時解決當前網頁的問題,對hh.exe本身的編碼處理並無幫助。此外,hh.exe的菜單功能可能因為編碼問題而顯得不完整。
尋找解決方案
為了解決這個問題,我們不得不尋找替代方案。例如,Sumatra PDF這樣的第三方閱讀器,雖然非IE內核,支持cp1252,但遺憾的是,它缺少索引和搜索功能。真正的挑戰在於hh.exe的編碼受系統區域設置影響,而Windows的全局system locale設計並不靈活,無法為每個進程獨立設定。
嘗試性地,我們可以使用GetACP()函數查看當前的codepage,但有時可能會得到1252而不是系統默認的936。微軟曾提供AppLocale來解決這個問題,但已不再推薦。取而代之的是開源項目Locale Emulator (LE),它允許我們為特定進程設置獨立的locale。通過LEInstaller.exe和LEGUI.exe,我們可以為hh.exe設置西歐(cp1252)這樣的locale,通過創建快捷方式,用LEProc.exe啟動hh.exe,以解決亂碼問題。
值得注意的是,對於32-bit系統,可以直接使用hh.exe,但64-bit系統需要使用C:WindowsSysWOW64hh.exe。LE通過API鉤子技術實現這一功能,32-bit系統相對容易,而64-bit系統則需要額外的技巧。這是在2018年9月29日的解決方案,隨著時間的推移,可能需要更新或尋找新的技術來優化處理。
總結
面對Python chm在中文Windows上的亂碼問題,需要跳出常規的框架,採用更靈活的工具和方法。通過Locale Emulator,我們找到了一種可能的路徑,盡管64-bit系統處理存在挑戰,但解決方案的探索從未停止。持續關注最新技術發展,或許能為我們找到一個更加完美的解決之道。