人们有时将数字或字符串转换为字节怎么办?

What for people sometimes convert numbers or strings to bytes?

有时我会遇到questions关于将某事转换为字节的问题。是否存在任何对转换为字节至关重要的东西,或者我可以将某物转换为字节的原因是什么?

在大多数语言中,最常见的字符串函数作为语言的一部分或在预制的 library/include/import 中出现,通常使用目标代码来利用基于处理器的字符串函数,但是,有时您需要对语言本身不支持的字符串执行某些操作,因此自 8 位时代以来,人们将字符串视为 7 位或 8 位字符的数组,它们适合一个字节并使用 ASCII 等约定来确定哪个字节value代表哪个字符。

虽然标准语言通常具有 "string.replaceChar(OFFSET,'a')" 之类的功能,但这种方法可能会非常缓慢,因为每次调用 replaceChar 方法都会导致处理开销,这可能大于需要完成的处理。

在设计您自己的字符串算法时,还有一个简单因素,但正如我所说,大多数常见算法都是用现代语言预先构建的。 (stringCompare、trimString、reverseString 等)。

假设您要对一个非标准字符串执行操作。

假设您要将两个以十进制数字表示的字符串相加,并且这些数字的大小大于处理器的 64 位总线大小? SSL 浏览器挂锁背后的 RSA encryption/descryption 使用的数字不适合台式计算机的字长,但 none 桌面上处理 RSA 证书和密钥的程序必须越少能够处理这些实际上是字符串的数据。

将字符串作为字节数组处理的原因有很多,但每个原因都相当专业。