iT邦幫忙

2021 iThome 鐵人賽

DAY 20
0
Software Development

JUCE 入門 @ 跨平台應用程式開發使用 C++系列 第 20

Day 19:非 GUI 類工具之 juce::String

前幾篇重點放在 JUCE GUI 相關工具,接下來換個口味,介紹幾個 JUCE 提供的好用組件。首先登場的是——juce::String

「字串」是軟體專案最重要的組件之一,雖然 C++ STL 有標準字串 std::string/std::wstring 可用,但因功能太過「簡單」,缺了許多處理字串常會用到的功能,因此,稍具規模的專案通常會實作自己的字串組件。

講到字串,就不得不講「編碼(Encoding)」,但字串編碼這題要講得清楚,一來我沒把握,二來篇幅肯定超出這個系列。若要對字串編碼,以及字串的難題有進一步理解,我推薦 Joel Spolsky 的這篇:

註:字串編碼很重要,務必安排時間弄清楚一點。

JUCE 專案可以透過 JUCE_STRING_UTF_TYPE 巨集決定 String 內部採用何種格式儲存字串資料。若設定為 JUCE_STRING_UTF_TYPE=8,表示採用 UTF-8 編碼;16 則為 UTF-16 編碼(與 Windows 平台預設使用的 wchar_t 相同)。

juce::String 有許多方便的功能,以下截錄若干。String 建構式接受許多整數型別,例如 int, unsigned short, int64,以及浮點數,如 flaot, double。方便數值與字串轉換。

「字串比對」類的功能也不少,忽略大小寫的比對、開頭或結尾符合特定子字串、是否包含指定的子字串、特定字元或連結字串的位置。

去掉前後空白、去掉結尾多少字元、大小寫轉換。截取符合特定子字串的功能,以及不同編碼之間的轉換。juce::String 提供了許多方便的工具,令人愛不釋手。

juce::String 的好用之處,等你挖掘。


上一篇
Day 18:分離控制項的外觀與行為
下一篇
Day 20:非 GUI 類工具之 juce::Analytics
系列文
JUCE 入門 @ 跨平台應用程式開發使用 C++29

尚未有邦友留言

立即登入留言