在大多数语言中,最常见的字符串函数是作为语言的一部分或在预制的库/include/import中提供的,通常使用目标代码来利用基于处理器的字符串函数,但是,有时您需要对语言本身不支持的字符串执行某些操作,因此自8位时代以来,人们将字符串视为7位或8位字符的数组,它们适合于一个字节,并使用ASCII等约定来确定哪个字节值代表哪个字符。
虽然标准语言通常有像"string.replaceChar(OFFSET,'a')“这样的函数,但这种方法可能非常慢,因为每次调用replaceChar方法都会产生比需要完成的处理更大的处理开销。
在设计自己的字符串算法时也有简单的因素,但就像我说的,大多数常见的算法都是在现代语言中预先构建的。(stringCompare、trimString、reverseString等)。
假设你想在一个非标准的字符串上执行一个操作。
假设您想要将字符串中以十进制数字表示的两个数字相加,并且这些数字的大小大于处理器的64位总线大小?SSL浏览器挂锁背后的RSA加密/解密使用的数字不适合台式计算机的字长,但桌面上处理RSA证书和密钥的程序必须能够处理这些数据,这些数据实际上是字符串。
有很多不同的原因你会想要处理字符串,作为一个字节数组,但这些原因中的每一个都是相当特殊的。