2012年3月11日 星期日

支援 ZIP 密碼加密的 Java 函式庫 (ZIP password encryption for Java)

Java 原生不支援 ZIP 檔加密這件事已經很久了, 之前遇到ZIP加密需求都是用 Runtime.exec() 來處理.

最近又遇到了這個問題, 查了一下, 原來已經有個 Zip4j 的函式庫可以處理.

Zip4j 的功能如下:
  • Create, Add, Extract, Update, Remove files from a Zip file
  • Read/Write password protected Zip files
  • Supports AES 128/256 Encryption
  • Supports Standard Zip Encryption
  • Supports Zip64 format
  • Supports Store (No Compression) and Deflate compression method
  • Create or extract files from Split Zip files (Ex: z01, z02,...zip)
  • Supports Unicode file names
  • Progress Monitor


使用方式參考他提供的範本即可, 簡單好用. 強力推薦.


2012年3月4日 星期日

VLC Media Player 字幕亂碼 解決之道

VLC media player 是個不錯的播放器, 但在 Windows 平台預設播放的中文字幕都是亂碼.

原因是字幕檔編碼跟字型不披配.


依據測試結果, 使用UTF-8編碼的字幕可以正常顯示(Big5編碼字幕要如何不亂碼,抱歉我試不出來), 說明如下:

1. 字幕檔編碼必須是 UTF-8
通常下載到的srt字幕檔都是 ascii (也就是 big5) 編碼格式.
請先轉成 UTF-8.

轉檔可以用Windows內建的筆記本完成, 方式如下:
筆記本開啟字幕檔後, 選擇"另存新檔". 編碼選擇"UTF-8"後 存檔即可.
(注意字幕檔會被存成結尾為.txt的檔案, 請手動更名)




2. VLC media player 的字幕/OSD設定中, 預設編碼請選擇 "Universal(UTF-8)"


3.字型請選擇支援 UTF-8 的字型, 一般常見的細明體、新細明體都不行的.

我測試的結果, 如圖中的 SimHei、SimSun, 或其它像Microsoft YaHei、KaiTi 都可以正常顯示.