Я пытаюсь написать файл .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.
Мне нужно работать с этими числами, потому что я 'Я пытаюсь реализовать Vigenre Cipher для расширенного алфавита ASCII (или macOS Roman), и мне нужно, чтобы 8-битный ввод был 8-битным, чтобы содержимое файла имело точно такой же размер файла.Я должен сделать это на 256 символах, поэтому мне нужен расширенный ascii / macOS Roman.
Мне также нужно было бы прочитать этот тип файла обратно, поэтому метод чтения текстильно закодированс расширенной ASCII также будет приветствоваться.Наверное, поэтому есть String.Encoding.nonLossyASCII
, а не только .ascii
?