#vim #base64
Вопрос:
когда я создаю файл vim с содержимым 12
, он показывает размер 3 байта, а не 2 байта
так, я полагаю, здесь скрытый символ?
затем я использую его на основе 64, в результате получается, что на основе 64 MTIK
12n
не MTI=
та правильная база 64 из 12
Откуда это n
взялось?
Комментарии:
1. Новая строка вообще не скрыта . хорошо видно, что приглашение после
cat
вывода находится в новой строке.2. Если вы действительно хотите создать файл без этого последнего символа новой строки в последней строке, вы можете
:set noeol
затем:set binary
и записать файл. Но я согласен с Армали, это не скрыто, это просто часть формата текстовых файлов, что последняя строка заканчивается символом новой строки (если вы не работаете на Mac).3. @Armali. Я сказал , что это скрыто, потому что когда
wc -l a.txt
результат равен 1, а не 2. Я не зналend of line
, что было раньше4. @джоанис. да, теперь я наконец-то знаю.
Ответ №1:
Среди инструментов Unix принято заканчивать последнюю строку символом «конец строки», как правило LF
( 0x0A
), и ожидать, что этот символ будет здесь. nano
делает это по умолчанию, echo
делает это по умолчанию и т. Д.
Когда вы находитесь в Vim, вы можете сделать :set binary noendofline
(или в короткой версии :set bin noeol
), чтобы сказать Vim пропустить конец LF
при записи файла.
Смотрите :help 'binary'
и :help 'endofline'
для многих предостережений этих вариантов.