伴隨着 IP 位置庫 的上線,筆者的“童年夢想”又成真了一個。為了分發這份來之不易的數據庫,筆者找到了 ip2region 項目。該項目提供了一種體積小且查詢速度極快的離線IP位置數據庫文件格式,同時提供了多種語言支持的查詢客戶端。但 ip2region 項目的作者並未提供除 Java 以外的數據庫文件生成代碼,筆者打算為該項目移植 .NET 5.0 的數據庫文件生成器,並在本文中記錄下移植過程。
移植前准備
ip2region 的 Java 版數據庫生成器 代碼並不復雜,源代碼文件只有 8 個。以筆者粗淺的 Java 經驗來看,因為 C# 與 Java 大體相似,移植過程中無需對程序的結構和命名進行變更,也無需對處理邏輯進行調整。移植需要做的就是讓程序可以編譯通過,基本上就算成功。