Как сменить кодировку в Блокноте по умолчанию с ANSI на другую
Рано или поздно любой пользователь Windows сталкивается с проблемой кодировки текста. «Кракозяблики» настигают всех, кто более-менее часто пользуется компьютером. Особенно остро эта задача стоит перед теми, кто не просто пользуется компьютером, а создаёт какой-то осмысленный контекст, например у себя на сайте. Сайт может находиться на удалённом сервере, где кодировка может отличаться от той, которую предлагает Windows по умолчанию.
Очень кратко:
- C:\Windows\ShellNew — создаем пустой текстовый файл, сохраняемым как UTF-8, переименовываем в UTF-8.txt. Он будет шаблоном.
- Заходим в реестр HKEY_CLASSES_ROOT / .txt / ShellNew / — создаем «Строковый параметр»: имя — FileName / значение — UTF-8.txt
Немного лирики о том, почему всё так, а не иначе:
Но и для пользователей, остающихся обычными «пользователями ПК» проблема с кодировками кириллистических символов иногда встаёт довольно остро. «Кракозяблики» — наследие предыдущей эпохи, когда каждый программист писал собственную таблицу кодировок. Например, скачал и хочешь почитать интересную книжку, а тут такое >=O
-- ...‚Ґа®пв®, ў иЁ¬ ЇҐаўл¬ бҐамҐ§л¬ ®вЄалвЁҐ¬, ¤®Єв®а ЏЁ«м¬ ,
б«Ґ¤гҐв бзЁв вм в Є §лў Ґ¬л© а ¤Ё в ЏЁ«м¬ ?
-- Џ®« Ј о, зв® Ґв. ђ ¤Ё в ЏЁ«м¬ -- нв® Ґ ЇҐаў®Ґ, Ґ
бҐа쥧®Ґ Ё, б®Ўб⢥®, Ґ ®вЄалвЁҐ. € Ґ ᮢᥬ ¬®Ґ.
-- ‚л, ўҐа®пв®, игвЁвҐ, ¤®Єв®а. ђ ¤Ё в ЏЁ«м¬ -- Ї®пвЁҐ,
Ё§ўҐб⮥ ўбпЄ®¬г иЄ®«мЁЄг.
-- ќв® ¬Ґп Ґ г¤Ёў«пҐв. ђ ¤Ё в ЏЁ«м¬ Ё Ўл« ®вЄалв ўЇҐаўлҐ
Ё¬Ґ® иЄ®«мЁЄ®¬. Љ ᮦ «ҐЁо, п Ґ Ї®¬о, Є Є ҐЈ® §ў «Ё. Џ®б¬®ваЁвҐ г
‘вҐвб® ў ҐЈ® "€бв®аЁЁ Џ®бҐйҐЁп" -- в ¬ ўбҐ нв® Ї®¤а®Ў® а ббЄ § ®.
ЋвЄал« а ¤Ё в ўЇҐаўлҐ иЄ®«мЁЄ, ®ЇгЎ«ЁЄ®ў « Є®®а¤Ё вл ўЇҐаўлҐ бв㤥в,
§ў «Ё а ¤Ё в Ї®зҐ¬г-в® ¬®Ё¬ Ё¬ҐҐ¬.
-- „ , б ®вЄалвЁп¬Ё Їа®Ёб室пв Ё®Ј¤ г¤ЁўЁвҐ«млҐ ўҐйЁ. ЌҐ ¬®Ј«Ё
Ўл ўл ®ЎкпбЁвм иЁ¬ б«ги ⥫п¬, ¤®Єв®а ЏЁ«м¬ ...
И так продолжалось до тех пор, пока не начали вводиться стандарты. Но и стандартов на текущее время уже немало. Например, есть кодировка Unicode, есть UTF-8, есть UTF-16 и так далее…
ВАЖНО!
Я так и не нашёл, как сменить кодировку по умолчанию при открытии Блокнота и создания нового документа уже из открытой сессии Блокнота.
Зато нашёл, как сменить кодировку по умолчанию, когда текстовый документ сначала создаётся (из контекстного меню) и только потому открывается Блокнотом. Тогда кодировка файла будет та, которая будет прописана по умолчанию. Об этом и пойдёт ниже речь.
Итак, для того, чтобы поменять кодировку создаваемых текстовых документов по умолчанию, нам понадобиться внести изменения в Реестр Windows.
В данной статье рассмотрен пример для файлов с расширением .txt
, а т.к. в Windows программой, открывающей эти файлы по умолчанию является Блокнот, то некоторые считают, что меняют кодировку по умолчанию в самом Блокноте. Но это не так.
Как бы Windows не старался насаждать свои стандарты, большинство современных серверов работают на *nix операционных системах потому, что эти системы имеют открытый код и не имеют «корпоративной тайны на семью печатями». То есть, в них можно разобраться самостоятельно: что и как работает. Думаю, и дальше будет такая же тенденция. Все более-менее «продвинутые пользователи ПК» будут использовать программное обеспечение с открытым кодом для работы, и программы «из пакетов» для быстрой обработки данных (чтобы не изобретать велосипедов). На *nix операционных системах на текущий момент кодировкой по умолчанию является кодировка UTF-8
. Её можно без особых заморочек выставить другой, но зачем, если она на большинстве серверов и они нормально друг с другом *nix «общаются»? У меня на сервере тоже стоит UTF-8
и это удобно. Поэтому задача у меня стояла, как сменить кодировку в Блокноте по умолчанию для Windows с ANSI
на общепринятую UTF-8
.
Ну и хватит лирики. К делу!
Сперва удостоверимся в том, что в Блокноте стоит по умолчанию кодировка ANSI
, для этого достаточно «Сохранить как…» любой документ и увидеть его кодировку:
Что делать, чтобы сменить кодировку в Блокноте по умолчанию с
ANSI
на другую:- Открываем Блокнот или создаём новый текстовый документ и потом его открываем в Блокноте
- Меняем кодировку текстового файла
- Сохраняем этот документ (я свой назвал по названию кодировки
UTF-8.txt
)- Если не видно расширение файла, то можно его сделать видимым
- Можно
- Перемещаем созданный документ в папку
C:\Windows\ShellNew
(сразу создать текстовый документ в этой папке не получится — защита Windows от внесения изменений в системные папки)- Если папки нет (что мало вероятно), то её нужно создать и также переместить на место:
C:\Windows\ShellNew
- Если папки нет (что мало вероятно), то её нужно создать и также переместить на место:
- Теперь открываем редактор реестра
- Находим папку
HKEY_CLASSES_ROOT
/.txt
/ShellNew
/ (она должна быть, если нет, то создаём) - Создаём строковый параметр:
- С именем
FileName
- Со значением
UTF-8.txt
(имя того файла, который мы создали в п.3 перенесли в папкуC:\Windows\ShellNew
в п.4)
- С именем
- Радуемся! Ибо это всё =)
Теперь при создании текстового файла с помощью контекстного меню у него будет та кодировка, которая была нами установлена в файле-образце, лежащем в папке C:\Windows\ShellNew
. Проверяем:
Всё работает! =)
Кстати!
Если в файле-образце набрать какой-то текст, то он будет во всех новых файлах, создаваемых с помощью контекстного меню.
Не знаю, где это можно применить, т.к. у меня мало рутины с текстовыми файлами, но это может пригодиться тем, кто работает с шаблонными файлами. Или, например, для создания текстового файла-шаблона для HTML-документов, который можно создать таким же способом. Тогда не нужно будет каждый раз писать структуру
<head>
,<title>
,<meta>
,<body>
и т.д..
Заберите ссылку на статью к себе, чтобы потом легко её найти 😉
Выберите, то, чем пользуетесь чаще всего:
Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )
Что это — кодировка ANSI и с чем ее едят?
Прежде чем отвечать на вопрос о том, что же такое кодировка ANSI Windows, ответим сначала на другой вопрос: «Что же такое кодировка вообще?»
У каждого компьютера, в каждой системе используется определенный набор символов, зависящий от языка, используемого пользователем, от его профессиональных компетенций и личных предпочтений.
Общее определение кодировки
Так, в русском языке используется 33 символа для обозначения букв, в английском – 26. Также используется 10 цифр для счета (0; 1; 2; 3; 4; 5; 6; 7; 8; 9) и некоторые специальные символы, в том числе запятая, минус, пробел, точка, процент и так далее.
Каждому из этих символов при помощи кодовой таблицы присваивается порядковый номер. К примеру, букве «A» может быть присвоен номер 1; «Z» — 26 и так далее.
Собственно, номер, представляющий символ как целое число, считается кодом символа, а кодировка — это, соответственно, набор символов в такой таблице.
Богатство разнообразия кодовых таблиц
На данный момент существует довольно большое количество кодировок и кодовых таблиц, используемых разными специалистами: это и ASCII, разработанная в 1963 году в Америке, и Windows-1251, совсем недавно еще бывшая популярной благодаря Microsoft, KOI8-R и Guobiao — и многие, многие другие, причем процесс их появления и отмирания происходит и по сей день.
Среди этого огромного списка совершенно особо держится так называемая кодировка ANSI.
Дело в том, что в свое время компания Microsoft создала целый набор кодовых страниц:
Windows — 874 | Тайский |
Windows-1250 | Центральноевропейский |
Windows-1251 | Кириллический (все символы русского языка + символы близких языков) |
Windows-1252 | Западноевропейский |
Windows-1253 | Греческий |
Windows-1254 | Турецкий |
Windows-1255 | Еврейский |
Windows-1256 | Арабский |
Windows-1257 | Балтийский |
Windows-1258 | Вьетнамский |
Все они получили общее название таблицы кодировки ANSI, или кодовой страницы ANSI.
Интересный факт: одной из первых кодовых таблиц стала ASCII, в 1963 году созданная American National Standards Institute (Американским национальным институтом стандартов), сокращенно называвшимся именно ANSI.
Помимо всего прочего, эта кодировка содержит и непечатные символы, так называемые «Управляющие последовательности», или ESC, уникальные для всех таблиц символов, зачастую несовместимые между собой. При умелом использовании, однако, они позволяли скрывать и восстанавливать курсор, переводить его с одного положения в тексте на другое, устанавливать табуляцию, стирать часть окна терминала, в котором велась работа, изменять форматирование текста на экране и менять цвет (или даже рисовать и подавать звуковые сигналы!). В 1976 году, кстати, это было довольно неплохим подспорьем для программистов. Кстати, терминал — это устройство, требующееся для ввода и вывода информации. В те далекие времена он представлял собой монитор и клавиатуру, подсоединенные к ЭВМ (электронной вычислительной машине).
Некорректное отображение символов
К сожалению, в дальнейшем подобная система вызвала многочисленные сбои в системах, выводя вместо желаемых стихов, лент новостей или описаний любимых компьютерных игр так называемые кракозябры — бессмысленные, нечитаемые наборы символов. Появление этих вездесущих ошибок было вызвано всего лишь попыткой отображать символы, закодированные в одной кодовой таблице, при помощи другой.
Чаще всего с последствиями неверного чтения этой кодировки мы сталкиваемся в Интернете до сих пор, когда наш браузер по какой-то причине не может достаточно точно определить, какая именно из Windows-**** кодировок используется в данный момент, из-за указания веб-мастером общей кодировки ANSI либо изначально неверной кодировки, к примеру, 1252 вместо 1521. Ниже представлена точная таблица кодировок.
Кириллическая таблица ANSI-кодировок, Windows-1251
№ П/п.
HEX
СИМВОЛ
№ П/п.
HEX
СИМВОЛ
№ П/п.
HEX
СИМВОЛ
000
00
NOP
086
56
V
171
AB
«
001
01
SOH
087
57
W
172
AC
¬
002
02
STX
088
58
X
173
AD
003
03
ETX
089
59
Y
174
AE
®
004
04
EOT
090
5A
Z
175
AF
Ї
005
05
ENQ
091
5B
[
176
B0
°
006
06
ACK
092
5C
\
177
B1
±
007
07
BEL
093
5D
]
178
B2
І
008
08
BS
094
5E
^
179
B3
і
009
09
TAB
095
5F
_
180
B4
ґ
010
0A
LF
096
60
`
181
B5
µ
011
0B
VT
097
61
a
182
B6
¶
012
0C
FF
098
62
b
183
B7
·
013
0D
CR
099
63
c
184
B8
Е
014
0E
SO
100
64
d
185
B9
№
015
0F
SI
101
65
e
186
BA
Є
016
10
DLE
102
66
f
187
BB
»
017
11
DC1
103
67
g
188
BC
ј
018
12
DC2
104
68
h
189
BD
Ѕ
019
13
DC3
105
69
i
190
BE
Ѕ
020
14
DC4
106
6A
j
191
BF
Ї
021
15
NAK
107
6B
k
192
C0
А
022
16
SYN
108
6C
l
193
C1
Б
023
17
ETB
109
6D
m
194
C2
В
024
18
CAN
110
6E
n
195
C3
Г
025
19
EM
111
6F
o
196
C4
Д
026
1A
SUB
112
70
p
197
C5
Е
027
1B
ESC
113
71
q
198
C6
Ж
028
1C
FS
114
72
r
199
C7
З
029
1D
GS
115
73
s
200
C8
И
030
1E
RS
116
74
t
201
C9
Й
031
1F
US
117
75
u
202
CA
К
032
20
Пробел
118
76
v
203
CB
Л
033
21
!
119
77
w
204
CC
М
034
22
«
120
78
x
205
CD
Н
035
23
#
121
79
y
206
CE
О
036
24
$
122
7A
z
207
CF
П
037
25
%
123
7B
{
208
D0
Р
038
26
&
124
7C
|
209
D1
С
039
27
‘
125
7D
}
210
D2
Т
040
28
(
126
7E
~
211
D3
У
041
29
)
127
7F
212
D4
Ф
042
2A
*
128
80
Ђ
213
D5
Х
043
2B
+
129
81
Ѓ
214
D6
Ц
044
2C
,
130
82
‚
215
D7
Ч
045
2D
—
131
83
ѓ
216
D8
Ш
046
2E
.
132
84
„
217
D9
Щ
047
2F
/
133
85
…
218
DA
Ъ
048
30
0
134
86
†
219
DB
Ы
049
31
1
135
87
‡
220
DC
Ь
050
32
2
136
88
€
221
DD
Э
051
33
3
137
89
‰
222
DE
Ю
052
34
4
138
8A
Љ
223
DF
Я
053
35
5
139
8B
‹
224
E0
а
054
36
6
140
8C
Њ
225
E1
б
055
37
7
141
8D
Ќ
226
E2
в
056
38
8
142
8E
Ћ
227
E3
г
057
39
9
143
8F
Џ
228
E4
д
058
3A
:
144
90
Ђ
229
E5
е
059
3B
;
145
91
‘
230
E6
ж
060
3C
<
146
92
’
231
E7
з
061
3D
=
147
93
“
232
E8
и
062
3E
>
148
94
”
233
E9
й
063
3F
?
149
95
•
234
EA
к
064
40
@
150
96
–
235
EB
л
065
41
A
151
97
—
236
EC
м
066
42
B
152
98
237
ED
н
067
43
C
153
99
™
238
EE
о
068
44
D
154
9A
љ
239
EF
п
069
45
E
155
9B
›
240
F0
р
070
46
F
156
9C
њ
241
F1
с
071
47
G
157
9D
ќ
242
F2
т
072
48
H
158
9E
ћ
243
F3
у
073
49
I
159
9F
џ
244
F4
ф
074
4A
J
160
A0
245
F5
х
075
4B
K
161
A1
Ў
246
F6
ц
076
4C
L
162
A2
ў
247
F7
ч
077
4D
M
163
A3
Ј
248
F8
ш
078
4E
N
164
A4
¤
249
F9
щ
079
4F
O
165
A5
Ґ
250
FA
ъ
080
50
P
166
A6
¦
251
FB
ы
081
51
Q
167
A7
§
252
FC
ь
082
52
R
168
A8
Е
253
FD
э
083
53
S
169
A9
©
254
FE
ю
084
54
T
170
AA
Є
255
FF
я
085
55
U
Более того, в 1986 году ANSI была существенно расширена, благодаря Яну Э. Дэвису, написавшему пакет The Draw, позволяющий не просто использовать базовые, с нашей точки зрения, функции, но и полноценно (или почти полноценно) рисовать!
Подводя итоги
Таким образом, можно видеть, что кодировка ANSI, по сути, хоть и была довольно спорным решением, сохраняет свои позиции.
Со временем с легкой руки энтузиастов древний терминал ANSI перекочевал даже на телефоны!
Не удается найти страницу | Autodesk Knowledge Network
(* {{l10n_strings.REQUIRED_FIELD}})
{{l10n_strings.CREATE_NEW_COLLECTION}}*
{{l10n_strings.ADD_COLLECTION_DESCRIPTION}}
{{l10n_strings.COLLECTION_DESCRIPTION}} {{addToCollection.description.length}}/500 {{l10n_strings.TAGS}} {{$item}} {{l10n_strings.PRODUCTS}} {{l10n_strings.DRAG_TEXT}}{{l10n_strings.DRAG_TEXT_HELP}}
{{l10n_strings.LANGUAGE}} {{$select.selected.display}} {{article.content_lang.display}} {{l10n_strings.AUTHOR}}{{l10n_strings.AUTHOR_TOOLTIP_TEXT}}
{{$select.selected.display}} {{l10n_strings.CREATE_AND_ADD_TO_COLLECTION_MODAL_BUTTON}} {{l10n_strings.CREATE_A_COLLECTION_ERROR}}Разница в кодировке символов между ANSI и ASCII, разница между Unicode и UTF-8
1. Бит:
Наименьшая единица информации, хранимая компьютером, называется битом, бит транслитерации, двоичный «0» или «1» — битом. Чтобы
2. Байт
Байт — это единица измерения, которая указывает количество данных. Это единица измерения, используемая компьютерными информационными технологиями для измерения емкости памяти. 8 двоичных разрядов составляют 1 раздел слова. В коде ASCII стандартная английская буква (без учета регистра) занимает одну байтовую позицию, а стандартный китайский символ занимает две байтовые позиции. Чтобы
Три. Персонажи
Символы относятся к символам и символам, используемым в компьютере, например «1, 2, 3, A, B, C, ~! · # ¥% … * () + «и так далее. Чтобы
4. Код ASCII
Начнем с простейшего ASCII, с которым все знакомы: полное название — Американский стандартный код для обмена информацией, называемый «Американский стандартный код для обмена информацией». В коде ASCII английская буква (без учета регистра) занимает один байт пространства, а китайский символ занимает два байта пространства. Код ASCII в настоящее время является наиболее популярной кодировкой символов. Он используется в нашем Интернете, операционных системах, клавиатурах, принтерах, файловых шрифтах и принтерах. Таблица ASCII выглядит следующим образом:
Источник изображения Энциклопедия Baidu
Конечно, судя по названию Американский стандартный код для обмена информацией, код ASCII применим только к Империи США. Если он используется в странах, отличных от Империи США, он не будет соответствовать спросу. Чтобы
Код ANSI
Кодировка ANSI является расширением кода ASCII: в кодировке ANSI используется 1 байт в диапазоне 0x00 ~ 0x7f для представления 1 английского символа, что превышает диапазон 0x80 ~ 0xFFFF в один байт. другие символы на других языках. Другими словами, только первые 126 кодов ANSI совпадают с кодами ASCII, а все следующие символы являются символами определенного национального языка. Стоит отметить, что максимальное количество символов, которое может быть сохранено в двух байтах, равно 2 в 16-й степени, то есть 65536 символов, что абсолютно достаточно для языкового символа. Код ANSI фактически включает в себя множество кодов: Китай разработал код GB2312, который используется для компиляции китайского языка. Кроме того, Япония компилирует японский язык в Shift_JIS, а Южная Корея компилирует корейский язык в Euc-kr. Страны имеют национальные стандарты. В соответствии с условиями на тот момент коды ANSI между разными языками не могут быть преобразованы друг в друга, что приведет к искажению кодов в смешанном тексте на нескольких языках. Чтобы
Чтобы разрешить конфликт кодов ANSI в разных странах, появился Unicode: если каждому символу в мире будет присвоен уникальный код, то искаженная проблема исчезнет. Это Unicode, как следует из названия, это кодировка всех символов. Чтобы
Стандарт Unicode также развивается, но наиболее часто используемыйДва байтаПредставляет символ (если вы хотите использовать очень удаленный символ, вам нужно 4 байта). Современные операционные системы и большинство языков программирования напрямую поддерживают Unicode. Чтобы
Но проблема в том, что английские буквы, которые могут храниться в одном байте, должны хранить два байта в Юникоде (правило — добавить 0 перед исходной английской буквой, соответствующей коду ASCII). было расточительством. Итак, существует ли метод кодирования, который может устранить искаженные коды и избежать потерь? Ответ — UTF-8! Чтобы
Кодировка UTF-8
Это метод кодирования переменной длины: он может использовать от 1 до 4 байтов для представления символа, а длина байта зависит от разных символов. Когда символ находится в диапазоне кода ASCII В настоящее время он представлен одним байтом, и однобайтовая кодировка символов ASCII зарезервирована как его часть. Таким образом, кодировку UTF-8 можно также рассматривать как расширение кода ASCII. Стоит отметить, что китайский символ в кодировке Unicode занимает 2 байта, а китайский символ в UTF-8 занимает 3 байта. От unicode к uft-8 нет прямого соответствия, но для преобразования требуются некоторые алгоритмы и правила. Чтобы
В памяти компьютера кодировка Unicode используется единообразно, и когда ее необходимо сохранить на жесткий диск или передать, она преобразуется в кодировку UTF-8. Чтобы
При редактировании с помощью Блокнота символы UTF-8, считанные из файла, преобразуются в символы Unicode в памяти. После редактирования Unicode преобразуется в UTF-8 при сохранении. Сохранить в файл .
Перевод изhttps://blog.csdn.net/xiangxianghehe/article/details/77574965
Что такое формат ANSI? — программирование
Что такое формат кодировки ANSI? Это системный формат по умолчанию? Чем он отличается от ASCII?
ОТВЕТЫ
Ответ 1
Кодирование ANSI — это несколько общий термин, используемый для обозначения стандартной кодовой страницы в системе, обычно Windows. Это более корректно называют Windows-1252 на Western/U.S. системы. (Он может представлять некоторые другие кодовые страницы Windows на других системах.) Это по существу расширение набора символов ASCII в том, что оно включает в себя все символы ASCII с дополнительными 128 кодами символов. Это различие связано с тем, что кодировка «ANSI» составляет 8 бит, а не 7 бит, поскольку ASCII (ASCII почти всегда кодируется в настоящее время как 8-разрядные байты с MSB установлен в 0). См. Статью для объяснения, почему эта кодировка обычно называется ANSI.
Название «ANSI» является неправильным, поскольку оно не соответствует какому-либо фактическому стандарту ANSI, но имя застряло. ANSI — это не то же самое, что UTF-8.
Ответ 2
Технически ANSI должен быть таким же, как US-ASCII. Он относится к стандарту ANSI X3.4, который является просто ANSI организацией, утвержденной версией ASCII. Использование символов с верхним битом не определено в ASCII/ANSI, так как это 7-битный набор символов.
Однако годы неправильного использования термина DOS и впоследствии сообщества Windows оставили свое практическое значение как «системную кодовую страницу какой бы то ни было машины». Системная кодовая страница также иногда известна как «mbcs», поскольку в системах Восточной Азии, которая может быть кодировкой с несколькими байтами на символ. Некоторые кодовые страницы могут даже использовать верхние бит-четкие байты в качестве конечных байтов в многобайтовой последовательности, поэтому он даже не является строго совместимым с простым ASCII… но даже тогда он все еще называется «ANSI».
В настройках по умолчанию в США и Западной Европе «ANSI» сопоставляется с кодовой страницей Windows 1252. Это не то же самое, что и ISO-8859-1 (хотя это довольно похоже). На других машинах это могло быть что угодно. Это делает ANSI совершенно бесполезным в качестве внешнего идентификатора кодирования.
Ответ 3
Строго говоря, нет такой вещи, как кодирование ANSI. Вкратце термин ANSI используется для нескольких разных кодировок:
- ISO 8859-1
- Windows CP1252
- Текущая системная кодировка на компьютере Windows (в терминологии Win32 API).
Ответ 4
ASCII определяет только 7-битную кодовую страницу со 128 символами. ANSI расширяет это до 8 бит и существует несколько разных кодовых страниц для символов с 128 по 255.
Именование ANSI неверно, поскольку на самом деле это норма ISO/IEC 8859, которая определяет эти кодовые страницы. См. ISO/IEC 8859 для справки. Существует 16 кодовых страниц ISO/IEC 8859-1 по ISO/IEC 8859-16.
Windows-1252 снова основан на ISO/IEC 8859-1 с некоторой модификацией, главным образом в диапазоне набор управления C1 в диапазоне от 128 до 159. Wikipedia заявляет, что Windows-1252 также называется ISO-8859-1 со вторым дефис между ISO и 8859. (Невероятно! Кто делает что-то подобное?!?)
Ответ 5
Когда-то Microsoft, как и все остальные, использовала 7-битные наборы символов, и они придумали свои собственные, когда они им подходят, хотя они сохранили ASCII в качестве основного подмножества. Затем они поняли, что мир перешел к 8-битным кодировкам и что существуют международные стандарты, такие как семейство ISO-8859. В те дни, если вы хотели получить международный стандарт, и вы жили в США, вы купили его у Американского национального института стандартов ANSI, который переиздал международные стандарты со своим собственным брендингом и цифрами (что, поскольку правительство США хочет соответствие американским стандартам, а не международным стандартам). Итак, копия Microsoft ISO-8859 сказала «ANSI» на обложке. И поскольку Microsoft в те дни не очень привыкла к стандартам, они не понимали, что ANSI опубликовала множество других стандартов. Поэтому они ссылались на стандарты семейства ISO-8859 (и варианты, которые они изобрели, потому что в те дни они не понимали стандартов) по названию на обложке «ANSI», и он нашел свой путь в Microsoft пользовательскую документацию и, следовательно, в сообщество пользователей. Это было около 30 лет назад, но вы все еще иногда слышите это имя сегодня.
Ответ 6
В основном «ANSI» относится к устаревшей кодовой странице в Windows. См. Также статью Раймонда Чена на эту тему. Первые 127 символов идентичны ASCII на большинстве кодовых страниц, однако верхние символы меняются.
Однако ANSI автоматически не означает CP1252 или Latin 1.
Несмотря на всю путаницу, вы должны просто избегать таких проблем в настоящее время и использовать Unicode.
Ответ 7
На всякий случай ваш ПК не является «западным» ПК, и вы не знаете, какая кодовая страница используется, вы можете посмотреть эту страницу: Справочник по API поддержки национальных языков (NLS)
[Microsoft удалила эту ссылку, отрисуйте ее в виде веб-архива Справочник по API поддержки национальных языков (NLS)
Или вы можете запросить свой реестр:
C:\>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage /f ACP
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
ACP REG_SZ 1252
End of search: 1 match(es) found.
C:\>
Ответ 8
При использовании однобайтовых символов формат ASCII определяет первые 127 символов. Расширенные символы из 128-255 определяются различными кодами ANSI, чтобы обеспечить ограниченную поддержку других языков. Чтобы понять кодировку ANSI, вам нужно знать, какую кодовую страницу она использует.
Ответ 9
Я помню, когда текст ANSI ссылался на escape-коды псевдо-VT-100, используемые в DOS через драйвер ANSI.SYS, чтобы изменить поток потокового текста…. Вероятно, это не то, о чем вы говорите, но если оно см. http://en.wikipedia.org/wiki/ANSI_escape_code
Ответ 10
ANSI (aka Windows-1252/WinLatin1) является символьной кодировкой латинского алфавита, довольно похожей на ISO-8859-1. Вы можете захотеть взглянуть на в Википедии.
python — Как установить кодировку как ‘ANSI’, используя Python?
Я использую версию Python 3.7.4. Я хочу установить кодировку «ANSI» во время чтения текстового файла, а также записи текстового файла.
В другом случае я читаю файл, предоставляя «utf-8» (пожалуйста, найдите фрагмент кода ниже) в качестве кодировки, но в случае «ANSI» я не нахожу никакого значения для кодирования.
Фрагмент кода:
content = open(fullfile , encoding='utf-8').readlines()
Что нужно сделать, чтобы установить кодировку как «ANSI» в Python?
0
Santanu Guha 27 Ноя 2019 в 16:36
3 ответа
Лучший ответ
Нет никакого «ANSI» -кодирования. «ANSI» означает «независимо от того, какая на вашем компьютере используется однобайтовая кодировка по умолчанию» — термин «ANSI» по своей сути неоднозначен. Это означает, что вы должны указать кодировку фактическую при чтении файла.
Для машин Windows в регионе Западной Европы «ANSI» обычно относится к Windows-1252. Другие регионы различаются, но конфигурация вашего компьютера может отличаться.
Python ссылается на Windows-1252 как cp1252
. Если это действительно та кодировка, в которой находится ваш файл, зависит от самого файла, и узнать ее можно, только взглянув на нее.
Часто текстовые редакторы (не Notepad, real текстовые редакторы) имеют возможность интерпретировать файл в различных кодировках. Выберите тот, который заставляет данные выглядеть правильно (обратите внимание на акцентированные символы), а затем узнайте имя Python для него.
2
Tomalak 27 Ноя 2019 в 13:44
Попробуйте одну из кодировок ANSI:
encoding='cp1252'
Чтобы получить дополнительную информацию, посмотрите здесь.
0
Gabriel Melo 27 Ноя 2019 в 13:44
Организация обеспечила подготовку сотрудников и предоставила оборудование для укрепления базы четырех общинных радиостанций в […]Карибском бассейне («Roоts FM», Ямайка; «Radio […] Paiwomak», Гайана; «Radio em ba Mango», Доминика; «Radio […]Muye», Суринам). unesdoc.unesco.org |
The Organization also provided training and equipment to reinforce the capacity of four community radio […]stations in the Caribbean (Roots FM, Jamaica; Radio Paiwomak, Guyana; […] Radio em ba Mango, Dominica; and Radio Muye, […]Suriname). unesdoc.unesco.org |
RFLQ_S007BA Расчет ликвидности: […] перенести фактические данные в нов. бизнес-сферу . enjoyops.de enjoyops.de |
RFLQ_S007BA Liquidity Calculation: […] Transfer Actual Data to New Business Area . enjoyops.de enjoyops.de |
RM06BA00 Просмотр списка заявок . enjoyops.de enjoyops.de |
RM06BA00 List Display of Purchase Requisitions . enjoyops.de enjoyops.de |
Еще одним из популярных туристических мест в 2010 […] году будет, согласно BA, Стамбул в Турции.tourism-review.ru |
Among other popular destinations for 2010 will be, […] according to the BA, Istanbul in Turkey.tourism-review.com |
Компания также поставляет систему шасси для первого в мире гражданского конвертоплана «Tiltrotor» […] […] (воздушного судна, оснащённого поворотными несущими винтами): Messier-Bugatti-Dowty поставляет оборудование для BA609 фирмы Bell/Agusta Aerospace, летательного аппарата, сочетающего в себе скорость и дальность самолёта с маневренностью […] […]вертикально взлетающего вертолёта. safran.ru |
It also supplies the landing gear for the Bell/Agusta Aerospace BA609, the world’s first civilian tilt-rotor aircraft, combining the flexibility of vertical flight with the speed and range of a conventional aircraft. safran.ru |
Рейтинг финансовой устойчивости […] «D-» (что отображает Ba3 по BCA оценке) присвоен […]Ардшининвестбанку как одному из крупнейших […]банков Армении (будучи вторым банком в Армении по величине активов с долей рынка в 12,2% в 2007 году, Ардшининвестбанк в марте 2008 года стал лидером по этому показателю), широкой филиальной сетью, хорошими финансовыми показателями, особенно – растущей рентабельностью, высокой капитализацией и показателями эффективности выше среднего в контексте армянского рынка. ashib.am |
According to Moody’s, ASHIB’s «D-» BFSR — which maps to a Baseline […] Credit Assessment of Ba3 – derives from its […]good franchise as one of Armenia’s largest […]banks (ranking second in terms of assets with a 12.2% market share as at YE2007 — reportedly moving up to first place by March 2008) and good financial metrics, particularly, buoyant profitability, solid capitalisation and above-average efficiency ratios, within the Armenian context. ashib.am |
В январе 2009 года, в рамках ежегодного пересмотра кредитных рейтингов, рейтинговой агентство Moody’s […]подтвердило […] присвоенный в 2007 году международный кредитный рейтинг на уровне Ba3 / Прогноз «Стабильный» и рейтинг по национальной шкале […]Aa3.ru, что свидетельствует […]о стабильном финансовом положении ОГК-1. ogk1.com |
In January 2009 as part of annual revising of credit ratings, the international rating agency Moody’s […]confirmed the international […] credit rating at the level Ba3 with Stable outlook attributed in 2007 and the national scale rating Aa3.ru, which is […]an evidence of OGK-1’s stable financial position. ogk1.com |
На устройствах РПН с числом переключений более чем 15.000 в год мы […]рекомендуем применять маслофильтровальную установку OF100 (инструкция по […] эксплуатации BA 018) с бумажными […]сменными фильтрами. highvolt.de |
If the number of on-load tap-changer operations per year […]is 15,000 or higher, we recommend the use of […] our stationary oil filter unit OF […]100 with a paper filter insert (see Operating Instructions BA 018). highvolt.de |
В нашем […] каталоге Вы найдете описание всех преимуществ, технических характеристик и номера деталей соединений SPH/BA.staubli.com |
Discover all the advantages, technical features and part numbers of the SPH/BA couplings in our catalog. staubli.com |
Запросы и бронирования, связанные с Вознаграждениями (включая Вознаграждения от Компаний-партнеров) можно сделать на сайте ba.com или в местном сервисном центре Участника в соответствии с процедурой оформления Вознаграждений, которая может время от времени быть в силе, как указано на сайте ba.com. britishairways.com |
Requests and bookings relating to Rewards (including Service Partner Rewards) may be made online at ba.com or through the Member’s local service centre in accordance with such procedures that may be in force from time to time for the issue of Rewards, as set out on ba.com. britishairways.com |
Быстроразъемные […] соединения SPH/BA с защитой от […]утечек при разъединении и быстроразъемные полнопоточные соединения DMR для […]систем охлаждения: масляных систем и систем вода/гликоль. staubli.com |
SPH/BA clean break and DMR full […] flow quick release couplings for cooling applications such as oil and water glycol connections. staubli.com |
Что такое формат ANSI? | Newbedev
Кодировка ANSI — это немного общий термин, используемый для обозначения стандартной кодовой страницы в системе, обычно Windows. Более правильное название — Windows-1252 на Западе / США. системы. (Он может представлять некоторые другие кодовые страницы Windows в других системах.) По сути, это расширение набора символов ASCII в том смысле, что он включает все символы ASCII с дополнительными 128 кодами символов. Это различие связано с тем, что кодировка «ANSI» является 8-битной, а не 7-битной, как ASCII (в настоящее время ASCII почти всегда кодируется как 8-битные байты с MSB, установленным в 0).См. Статью для объяснения того, почему эта кодировка обычно называется ANSI.
Название «ANSI» — неправильное употребление, поскольку оно не соответствует никакому действительному стандарту ANSI, но название прижилось. ANSI — это не то же самое, что UTF-8.
Технически ANSI должен быть таким же, как US-ASCII. Это относится к стандарту ANSI X3.4, который является просто утвержденной организацией ANSI версией ASCII. Использование символов верхнего набора битов не определено в ASCII / ANSI, поскольку это 7-разрядный набор символов.
Однако годы неправильного использования этого термина сообществом DOS, а затем и Windows оставили его практическое значение как «системная кодовая страница любой используемой машины». Системную кодовую страницу также иногда называют «mbcs», поскольку в восточноазиатских системах она может быть многобайтовой кодировкой на символ. Некоторые кодовые страницы могут даже использовать байты с очисткой верхнего бита в качестве завершающих байтов в многобайтовой последовательности, так что это даже не строго совместимо с обычным ASCII … но даже тогда это все еще называется «ANSI».
В настройках по умолчанию для США и Западной Европы «ANSI» соответствует кодовой странице Windows 1252. Это не то же самое, что ISO-8859-1 (хотя и очень похоже). На других машинах это могло быть что угодно. Это делает «ANSI» совершенно бесполезным в качестве внешнего идентификатора кодировки.
Строго говоря, кодировки ANSI не существует. В просторечии термин ANSI используется для нескольких различных кодировок:
- ISO 8859-1
- Окна CP1252
- Текущая системная кодировка на машине Windows (в терминологии Win32 API).
Кодировка, которую Notepad ++ называет просто «ANSI». Кто-нибудь знает, как ее назвать для Ruby?
Я думаю, что это cp1252, псевдоним windows-1252.
Прочитав ответ Йорга, я вернулся на страницу кодирования на ruby-doc.org, пытаясь найти ссылки на конкретные кодировки, которые он упомянул, и именно тогда я обнаружил метод Encodings.aliases
.
Итак, я запутался в методе в конце этого ответа.
Затем я посмотрел на вывод в notepad ++, рассматривая его как «ANSI» и как utf-8, и сравнил его с выводом в irb…
Я смог найти только два места в выводе irb, где файл utf-8 был искажен точно так же, как он появился в блокноте ++ при просмотре его как «ANSI», и эти места были для cp1252 и cp1254.
cp1252, по-видимому, является моей кодировкой «файловой системы», поэтому я придерживаюсь этого.
Я написал сценарий для создания копий всех файлов, преобразованных в формат UTF-8, пробуя как из 1252, так и из 1254.
Регулярные выраженияutf-8, похоже, пока работают с обоими наборами файлов.
Теперь я должен попытаться вспомнить, что я на самом деле пытался выполнить, чтобы выполнить , прежде чем я столкнулся со всеми этими головными болями при кодировании.xD
def compare_encodings файл1, файл2
file1_probs = []
file2_probs = []
txt = File.open ('encoding_test_output.txt', 'w')
Encoding.aliases.sort.each do | k, v |
Encoding.default_external = k
ename = [k.downcase, v.downcase] .join "---"
s = ""
начинать
s << "# {File.read (file1)}"
спасать
s << "нету нету нету"
file1_probs << ename
конец
s << "\ t | # {ename} | \ t"
начинать
s << "# {Файл.читать (файл2)} "
спасать
s << "нету нету нету"
file2_probs << ename
конец
Encoding.default_external = 'utf-8'
txt.puts s.center (58)
ставит s.center (58)
конец
ставит
помещает "file1, \" # {file1} \ "исключения из попытки преобразования в: \ n \ n"
помещает file1_probs
ставит
помещает "file2, \" # {file2} \ "исключения из попытки преобразования в: \ n \ n"
помещает file2_probs
txt.close
конец
compare_encodings "utf-8.txt", "np ++ 'ANSI'.txt"
Кодировкасимволов - от ANSI до UTF-8 в Notepad ++
Выберите Преобразовать в UTF-8
вместо Кодировать в UTF-8
UTF-8 - это , а не кодировка, а просто , кодирующая для Unicode.Первые 128 байтовых значений такие же, как ASCII (и большинство других нормальных наборов символов). Однако байты с установленным старшим битом (или ≥ 0x80) являются расширенными символами в ASCII, тогда как в UTF-8 они обозначают многобайтовую последовательность .
Это случай 0x93 или 0x94 выше. Если вы откроете файл в ANSI, он будет использовать текущую кодовую страницу Windows, которая часто является Windows-1252 по умолчанию в США и большинстве стран Западной Европы. В Windows-1252 эти байты представляют собой «умные кавычки» (или изогнутые кавычки с разными формами открытия и закрытия), которые вы часто видите при использовании редактора форматированного текста, такого как MS Word.Однако, если вы выберете «Кодировка»> «Кодировать в UTF-8» , тогда файл будет обрабатываться так, как если бы он был закодирован в UTF-8. Пункты меню Encode in ...
используются для того, чтобы сообщить Notepad ++ о кодировке real , если у вас отображаются неправильные символы 1 . Поскольку 0x93 и 0x94 сами по себе являются некорректно сформированными многобайтовыми последовательностями UTF-8, в редакторе
Значит, в файле нет ничего странного. Просто вы выбрали не тот инструмент.Вам нужно нажать Convert to UTF-8
, чтобы преобразовать всю последовательность входных байтов в выбранную кодировку
У вас также есть небольшая путаница по поводу ANSI и ASCII. ANSI не является определенным набором символов и может означать любые кодовые страницы, хотя часто относится к Windows-1252. Windows-1252 - это расширенный набор ISO-8859-1 (AKA Latin-1), а ISO-8859-1 - это первые 256 кодовых точек Unicode. ASCII представляет собой 7-битный набор символов и представляет собой подмножество почти всех кодовых страниц ANSI, закодированных в 8 бит или более.Юникод
1 Этот прискорбный факт происходит потому, что в текстовые файлы нет информации о кодировке, и мы должны угадывать, но невозможно угадать правильно каждый раз, и проблемы действительно возникают, например, знаменитый Буш скрыл ошибку фактов. См.
По историческим причинам Windows работает с текстовыми файлами ANSI и Unicode одновременно. Следовательно, чтобы различать их, он должен использовать метку порядка байтов как своего рода подпись, чтобы обозначить, что это текстовый файл с определенной кодировкой.Несмотря на название, это , а не для маркировки «порядка байтов», как всегда утверждают парни из Unix, а просто для подписи. Наличие подписи — это на самом деле хорошо, и это делают все подходящие форматы двоичных файлов. Без подписи спецификации используется кодировка ANSI, в противном случае — Unicode. Поскольку в настоящее время Unices всегда используют UTF-8 и на самом деле не должны работать с множеством текстовых кодировок, часто нет проблем, как в Windows
.ASCII и ANSI
ASCII и ANSI
ASCII — это аббревиатура от American Standard Code for Information Interchange и 7-битная кодировка символов.Он составляет основу многих других кодировок символов. В ASCII определены 128 символов, из которых 95 — печатные, а 33 — непечатаемые. В следующей таблице перечислены символы и их десятичная запись.
Таблица ASCII
Как видно, набор символов ASCII включает латинский алфавит, десять арабских цифр и некоторые знаки препинания и управляющие символы. Диакритические символы, такие как Ä или À, используемые в большинстве языков, основанных на латинском алфавите, не существуют в диапазоне ASCII.7 = 128 вариантов кодирования). На самом деле ANSI означает Американский национальный институт стандартов, но в компьютерных технологиях он используется почти исключительно для группы наборов символов, описанной ниже. ANSI обычно совместим со 128 символами ASCII, а также содержит некоторые дополнительные характерные для языка символы, такие как Ä, À, ß и т. Д. В зависимости от того, какое расширение используется, в качестве расширения используются 128 различных других символов.
Latin 1
Наиболее распространенное расширение ASCII показано в следующей таблице и называется Latin 1 (ISO 8859-1).
Таблица Latin-1
Есть также другие улучшения, такие как Latin 5 (ISO 8859-5, турецкий), Latin 7 (ISO 8859-7 Celtic) или Latin 10 (ISO 8859-10, Юго-Восточная Европа). Даже с этими расширениями первые 128 символов являются общими символами ASCII, в то время как остальные 128 символов являются символами, которые требуются для соответствующего языка или соответствующего набора символов.
Ограничения
Хотя кодировка ANSI требует только одного байта на символ и, таким образом, является наиболее эффективной кодировкой, она имеет недостатки, поскольку такая эффективность возникает из-за невозможности хранить различные системы символов или другие специальные символы в одном файле.Для чисто английского, немецкого, испанского или французского текста, конечно, достаточно ANSI (для английского даже ASCII). Но как только в тексте появляются другие символы, такие как буквы кириллицы или специальные символы, эти символы не могут быть сохранены с помощью ANSI. Кроме того, проблема несовместимости возникает при обмене файлами, поскольку может случиться так, что отправитель сохранил файл как Latin-1, а получатель работает с Latin-10. В этом случае символы вне диапазона ASCII 128 символов могут отображаться некорректно, потому что тот же код обозначает другие символы в Latin-1 и Latin-10.Чтобы избежать этой опасности, рекомендуется сохранять файлы в независимом от языка кодовом формате, таком как Unicode UTF-7, UTF-8, UTF-16 или UTF-32. В этих кодировках у каждого символа есть только один код, который не отличается, поэтому нет возможности отобразить неправильный символ.
ANSI и ASCII не имеют отметки порядка байтов. На самом деле в этом нет необходимости, так как в любом случае записывается только один байт на символ, и поэтому порядок следования байтов не имеет значения. Однако могут возникнуть некоторые проблемы, если нет метки, независимо от того, является ли файл ANSI или ASCII или нет, потому что также с такими форматами, как UTF-8, не обязательно иметь метку порядка байтов.Таким образом, подходящим файлом может быть ANSI, ASCII, UTF-8 или другая кодировка, и эти файлы трудно интерпретировать, если вы попытаетесь отобразить их правильно.
Что такое формат ANSI? | Techwalla
Формат ANSI Американского национального института стандартов — это связанный с Microsoft стандарт кодирования набора символов и модификация набора символов Американского стандартного кода обмена информацией (ASCII). Код ASCII использует 7 битов для представления каждого символа, тогда как формат ANSI использует 8 битов для каждого символа.
Из ASCII в ANSI
8-битный формат ANSI — это лишь одно из достижений в истории усилий по улучшению способности электрических машин взаимодействовать быстрее и надежнее. Ранние компьютеры были не более чем «вычислителями чисел», необходимыми для обработки только числовых данных. По мере того, как устройства связи становились все сложнее, а компьютеры стали глобальными, возникла потребность в том, чтобы компьютеры могли представлять больше, чем просто числа. Первым ответом на эту потребность стал 7-битный формат ASCII.8-битный формат ANSI удвоил количество символов исходного ASCII.
ANSI против ASCII
Введение 8-битного формата ANSI, в то время как большое улучшение по сравнению с ASCII, было суждено стать недолгим поводом для празднования, поскольку компьютеры стали более широко использоваться людьми в других странах, где английский не был родным языком. Даже с 256 (от 0 до 255) возможных символов 8-битный формат ANSI сильно не мог быть применен к компьютерам, использующим разрозненные наборы символов и управляющих кодов.Однако оба стандарта по-прежнему полезны для западных языков.
История
Добавление 8-го бита в формат ANSI заставило различные группы и правительство задуматься о том, как использовать дополнительные 128 мест для символов. Поскольку между этими группами не было соглашения о том, как их использовать, в результате документы, отправленные из одной системы в другую, часто были нечитаемыми из-за различных стандартов кодирования. Эта ситуация была решена путем создания систем IBM (OEM) и Microsoft (ANSI), которые определили кодовые страницы, состоящие из ASCII для нижних 127 символов и заданного языкового варианта для верхних 128 символов.
Еще немного истории
Название ANSI, применяемое к кодовым страницам, используемым операционными системами Microsoft, похоже, указывает на то, что Американский национальный институт стандартов (ANSI) фактически стандартизировал сопоставления. Это не так, поскольку ANSI официально не стандартизировал кодировку символов Microsoft Windows-1,252. Термин ANSI принят более или менее из-за наследия Microsoft в компьютерном мире.
Будущее формата ANS
Поскольку Интернет стал практически повсеместным, и все больше людей используют разные языки, неудивительно, что старые стандарты кодирования символов уступили место более новым, более всеобъемлющим стандартам.Юникод Windows (UTF-16) от Microsoft предоставляет коды длиной более 65 000 символов. Это намного больше 256, доступных в 8-битном формате ANSI, и обеспечивает полную функциональность почти на всех языках.
формат ANSI (8-битное кодирование) | Блог EDI
Формат ANSI: «удвоенная» модификация прежнего ASCII
ФорматANSI был разработан Американским национальным институтом стандартов и представляет собой связанный с Microsoft стандарт кодирования набора символов.Также формат ANSI служит модифицированным набором символов ASCII (американский стандартный код для обмена информацией). Если мы сравним код ASCII и формат ANSI, первый использует 7 бит для представления каждого символа. В то же время в формате ANSI для каждого символа используется 8 бит.
История формата ANSI
После того, как 8-й бит был добавлен в формат ANSI, многие учреждения, включая правительство, столкнулись с проблемой нечитаемых документов. Различным органам приходилось решать эту проблему, но на это требовалось время.Сначала возникали недопонимания, и стороны обменивались документами, которые не могли быть прочитаны из-за использования разных форматов. Таким образом, основная проблема заключалась в том, как использовать дополнительные 128 мест для символов, поскольку были внесены изменения и кодировка была другой. Решением было создание систем IBM (OEM) и Microsoft (ANSI). Эти системы определили кодовые страницы, состоящие из ASCII для нижних 127 символов и заданного языкового варианта для верхних 128 символов.
Можно ли преобразовать текст в ANSI и как?
Общие документы (текстовые файлы) состоят из символов, определенных в наборе ASCII (Американский стандартный код для обмена информацией).Итак, стандартный набор ASCII состоит из 128 символов. Также он включает буквы, а также символы (восклицательные знаки, запятые и т. Д.). Иногда текстовые документы могут содержать символы, отличные от ASCII. Для правильного отображения текстового документа ANSI кодирует расширенный набор символов. Есть некоторые инструменты для преобразования файлов, такие как приложение «Блокнот» или редактор по умолчанию в Windows. Используя эти инструменты, вы можете преобразовать текст в формат ANSI.
Сегодня компьютеры и устройства связи становятся все более сложными.Глобальная задача — научить их оперировать не только числами. 7-битный формат ASCII был первоначальным решением, поскольку 8-битный формат ANSI был двойным ответом на эту потребность.
Узнайте больше о стандартах EDI и электронной коммуникации на наших вебинарах.
Как установить кодировку в ANSI
Нечитаемые символы, отличные от ANSI, в Блокноте Проблема:
Люди, живущие в странах, с языками, включающими символы, отличные от ANSI, и которым нужна полностью английская среда Windows.
Если пользователь устанавливает системный языковой стандарт (язык для программ, не поддерживающих Юникод), для страны, в которой он живет, то многие приложения будут проверять этот параметр и, не предоставляя пользователю никаких опций, устанавливаются с локализованным интерфейсом, т. Е. С графическим интерфейсом пользователя на основе Системный языковой стандарт, который может быть нежелательным.
Очевидным решением является изменение языкового стандарта системы на английский (США), что решает проблему интерфейса приложений, но поскольку мы говорим о Microsoft Windows, существует (как всегда…) исключение.В данном случае это Блокнот…
Блокнот имеет ANSI (= ASCII и расширенный ASCII) в качестве настройки по умолчанию для сохранения текстовых файлов. Если текстовый файл содержит символы, отличные от ANSI, он выдает предупреждение … которое, если вы случайно обойдете и сохраните файл с кодировкой ANSI, все символы, отличные от ANSI, станут нечитаемыми.
Поскольку я являюсь таким пользователем, у меня установлена английская (США) версия, и, чтобы избежать локализованного интерфейса приложения, я установил системный языковой стандарт на английский (США).
По какой-то причине, которую я еще не нашел, до версии 1803 я мог сохранять текстовые документы с греческими (не ANSI) символами, и поскольку я не получал предупреждения о кодировке (по крайней мере, не так часто) при сохранении файл, многие файлы с греческими символами были сохранены в формате ANSI и не имели проблем.
Эта проблема с кодировкой стала более строгой в 1803 году. Я предполагаю, что параметр «Бета: использовать Unicode UTF-8 для всемирной поддержки языков», который был добавлен при изменении языкового стандарта системы, имеет к этому какое-то отношение. В любом случае это, как было сказано, все еще находится в стадии бета-тестирования, поэтому пока не работает должным образом!
Итак, как читать все эти текстовые файлы с кодировкой ANSI, которые содержат символы, отличные от ANSI, которые теперь не читаются?
Решение:
Шаг 1
Перейдите в: Настройки> Время и язык> Регион и язык> Связанные настройки> Настройки административного языка (открывает Панель управления)> Системный язык (Язык для программ, не поддерживающих Юникод)
В качестве альтернативы, для краткости введите в поиск Windows / Cortana:
control.exe / NAME Microsoft.RegionalAndLanguageOptions / PAGE / p: «Administrative»
и измените «Системный языковой стандарт (язык для программ, не поддерживающих Unicode)» на языковой стандарт страны, в которой вы живете (в моем случае — Греция).
Потребуется перезагрузка системы. Щелкните «Перезагрузить».
Шаг 2
Загрузите UnicodeConverter.zip, сохраните и распакуйте его на рабочем столе. ZIP-файл содержит три сценария:
CheckFileEncoding.ps1
ConvertFilesToUnicode.ps1
ConvertFilesToUnicode_NoBOM.ps1 (для опытных пользователей)
Шаг 3
Откройте PowerShell с повышенными привилегиями и введите команду:
Код:
Код:
Set-ExecutionPolicy Bypass -Scope Process -ForceЗатем введите следующую команду (при условии, что вы сохранили сценарий на рабочем столе):
Код:
Код:
$ env: ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ \ Рабочий стол \ CheckFileEncoding.ps1Сценарий предоставит вам список всех текстовых файлов ANSI во всех ваших пользовательских папках как System.Текст.ASCIIEncoding .
Вы можете проверить некоторые с символами, отличными от ANSI, и убедиться, что они читаемы. (Должны, так как ваш регион не соответствует стандарту ANSI).
Шаг 4
Теперь вы можете запустить команду:
Код:
Код:
$ env: ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ \ Рабочий стол \ ConvertFilesToUnicode.ps1Сценарий будет:
1. Создайте резервную копию папки в C: \ Backup \ ASCIItxtBackup и сохраните резервную копию всех файлов ANSI, которые у вас есть в ваших пользовательских папках
2.Преобразуйте все файлы ANSI в пользовательских папках в Unicode.
После этого вы можете повторить шаг 3, чтобы убедиться, что в ваших пользовательских папках нет файлов ANSI.
Шаг 5
Перейдите к: Настройки> Время и язык> Регион и язык> Связанные настройки> Настройки административного языка (открывает Панель управления)> Системный языковой стандарт (Язык для программ, не поддерживающих Юникод)
Или, для краткости, введите в поиске Windows / Cortana:
control.exe / NAME Microsoft.RegionalAndLanguageOptions / PAGE / p: «Administrative»
и измените «Системный языковой стандарт (язык для программ, не поддерживающих Unicode)» на английский язык по вашему выбору.
Потребуется перезагрузка системы. Щелкните «Перезагрузить».
Вот и все. После перезагрузки компьютера и поскольку все текстовые файлы теперь сохранены в Юникоде, их можно будет читать с любым языковым стандартом системы.
Важное примечание:
Если вы хотите изменить расположение резервной копии или папки, в которых находятся текстовые файлы ANSI (например,грамм. поиск по всему C: \), откройте скрипт «ConvertFilesToUnicode.ps1» и, как показано в красном поле на изображении ниже, перейдите в раздел, где мы определяем местоположения и меняем их в соответствии с вашими потребностями (например, $ SourceDirectory = ‘ C: \ Personal \ My Files ‘). Не забудьте заключить папку в кавычки (например, «C: \ Backup \ My ASCII files»).
Для опытных пользователей
Microsoft Notepad сохраняет все файлы Unicode с BOM (меткой порядка байтов). Если вы не хотите использовать BOM в текстовых файлах Unicode, используйте ConvertFilesToUnicode_NoBOM.ps1 ». Он будет делать именно то, что делает «ConvertFilesToUnicode.ps1», но вместо этого сохранит текстовый файл в любой кодировке Unicode без спецификации.
Кроме того, чтобы изменить кодировку Unicode на другой формат, в разделе преобразования сценария измените Unicode в части «set-content $ _. FullName -Encoding Unicode» на любое другое из доступных значений:
‘ ASCII ‘: использует кодировку для набора символов ASCII (7-бит).
‘BigEndianUnicode’: кодирует в формате UTF-16 с использованием порядка байтов с прямым порядком байтов.
‘BigEndianUTF32’: кодирует в формате UTF-32 с использованием порядка байтов с прямым порядком байтов.
«По умолчанию»: кодируется с использованием значения по умолчанию: ASCII.
«Байт»: кодирует набор символов в последовательность байтов.
‘String’: Использует тип кодировки для строки.
«Юникод»: кодирует в формате UTF-16 с использованием порядка байтов с прямым порядком байтов.
‘UTF7:’ Кодирует в формате UTF-7.
«UTF8»: кодирует в формате UTF-8.