我正在尝试.txt
使用扩展的 ASCII 代码编写文件,但我需要在 8 位字符上进行。
我很想从中获得扩展的 ASCII Codepage 437
,但我可以忍受Mac OS Roman
. 但由于它是对数字的操作,它不应该有任何区别。
使用时Character(UnicodeScalar(unicodePosition))
,它适用于 0 到 127。每个字符为 8 位。从第 128 个标量开始,它们不是 ASCII/macOS Roman,它们以 16 位编码。
UInt8
因此,我可以创建一个包含要保存到文件的特定字符的数组。
let firstCharacter: UInt8 = 240 // Apple Logo in macOS Roman or "≡" in codepage 437
let secondCharacter: UInt8 = 236 // Infinity symbol on codepage 437 or "I" with two dots in macOS Roman
let listOfCharacters: [UInt8] = [firstCharacter, secondCharacter]
但我不知道如何将这样的列表保存到文件中,然后将其显示为扩展 ASCII 或 macOS 罗马编码。
我需要对这些数字进行操作,因为我正在尝试为扩展的 ASCII 字母(或 macOS Roman)实现 Vigenre Cipher,并且我需要将 8 位输入作为 8 位输出,因此文件的内容具有完全相同的文件尺寸。我必须使用 256 个字符,因此我需要扩展 ascii/macOS Roman。
我还需要读回这种文件,因此读取用扩展 ASCII 编码的纺织品的方法也将不胜感激。我想这就是为什么有String.Encoding.nonLossyASCII
而不是唯一的原因.ascii
?