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 20 | MedioRecorder

>>:  验证资料/产生测试资料/表格显示 - day05

Day 01 前言- 开始与大家结缘

前言- 开始与大家结缘 之前,为了教其他跟我一样,没受过正规资讯教育的人,如何使用 Azure,稍微...

[DAY 04]环境建置 : 硬体(2)

硬体选择 -- Part 2 简介 昨天已经提过了最重要的 GPU 了,那今天会着重在其他的零件上,...

Day 14 JavaScript innerText vs textContent

两个都可以替换标签内的文字内容。 Node.innerText: 只会显示我们能在浏览器上看到的标签...

字典与集合

字典特徵 字典和阵列类似,也是可变序列,但它是无序的,保存的内容是以「键:值」的形式存放的。 键是唯...

day7: CSS style 规划 - CSS in JS(emotion 使用 - 1)

在上一篇我们介绍的 CSS in JS, 那这次我们来使用 CSS in JS 的框架 emotio...