因行動裝置的流行而跟著帶動起來的QR Code，是眾多條碼類型的其中一種，它讓我們的生活更便利，傳遞資訊的速度更快，省下許多使用鍵盤打字的時間。如果要產生出QR Code，已經有許多相關的現成工具能夠使用，甚至還能直接在網頁上產生。只是有的時候還是會遇到需要在自己的程式中加入產生QR Code的狀況，像是需要產生大量的QR Code時，或是想要讓自己的程式能不依賴其他工具就能獨立使用。這篇文章，將會探討如何使用Rust程式語言產生QR Code。
「QR Code Generator」是筆者開發的套件，採用「nayuki/QR-Code-generator」這個跨程式語言的QR Code產生函式庫來產生QR Code的資料矩陣，並支援RAW、SVG、PNG格式的圖檔輸出。
「qrcode_generator」提供了幾個有用的函數，可以進行QR Code編碼。帶有「by_segments」結尾的函數名稱，屬於低階的使用方法，可以最佳化產生出來的QR Code資料。
另外還可以使用「QrCodeEcc」列舉來控制QR Code資料的錯誤修正等級，其「Low」變體可以修正7%內的錯誤；「Medium」變體可以修正15%內的錯誤；「Quartile」變體可以修正25%內的錯誤；「High」變體可以修正30%內的錯誤。錯誤修正的等級愈高，編碼出來的資料量就會愈多，通常會因此使得QR Code的尺寸版本上升(白話一點來說就是QR Code的點數會變多)，但是尺寸版本也有可能在錯誤修正等級的提升之下維持不變，因為資料量剛好沒超過尺寸版本的容納上限。程式設計師在使用這個套件時所指定的錯誤修正等級，這個套件會自動去選擇相同尺寸版本中「最佳」的錯誤修正等級，比如說我們想要用「QrCodeEcc::Medium」來編碼某個資料，但是這筆資料在使用「QrCodeEcc::High」編碼出來的QR Code尺寸版本和使用「QrCodeEcc::Medium」編碼QR Code尺寸版本是相同的話，這個套件就會選擇使用「QrCodeEcc::High」來作為真正的錯誤修正等級。
「to_svg」函數可以將任意資料編碼成SVG圖片，寫進任意的Writer中。在「to_svg」函數名稱後加上「_to_string」可以將SVG圖片資料以「String」型別來輸出；加上「_to_file」可以將SVG圖片資料輸出成檔案。