Кодировка ansi: c — Что есть ANSI и ASCII

Содержание

Как сменить кодировку в Блокноте по умолчанию с ANSI на другую

Рано или поздно любой пользователь Windows сталкивается с проблемой кодировки текста. «Кракозяблики» настигают всех, кто более-менее часто пользуется компьютером. Особенно остро эта задача стоит перед теми, кто не просто пользуется компьютером, а создаёт какой-то осмысленный контекст, например у себя на сайте. Сайт может находиться на удалённом сервере, где кодировка может отличаться от той, которую предлагает Windows по умолчанию.

Очень кратко:

  1. C:\Windows\ShellNew — создаем пустой текстовый файл, сохраняемым как UTF-8, переименовываем в UTF-8.txt. Он будет шаблоном.
  2. Заходим в реестр HKEY_CLASSES_ROOT / .txt / ShellNew / — создаем «Строковый параметр»: имя — FileName / значение — UTF-8.txt

Немного лирики о том, почему всё так, а не иначе:

Но и для пользователей, остающихся обычными «пользователями ПК» проблема с кодировками кириллистических символов иногда встаёт довольно остро.  «Кракозяблики» — наследие предыдущей эпохи, когда каждый программист писал собственную таблицу кодировок. Например, скачал и хочешь почитать интересную книжку, а тут такое >=O

     -- ...‚Ґа®пв­®, ў иЁ¬  ЇҐаўл¬  бҐа쥧­л¬ ®вЄалвЁҐ¬, ¤®Єв®а ЏЁ«м¬ ­,
б«Ґ¤гҐв бзЁв вм в Є ­ §лў Ґ¬л© а ¤Ё ­в ЏЁ«м¬ ­ ?
     -- Џ®« Ј о,  зв®  ­Ґв.  ђ ¤Ё ­в  ЏЁ«м¬ ­   --  нв®  ­Ґ  ЇҐаў®Ґ,  ­Ґ
бҐа쥧­®Ґ Ё, б®Ўб⢥­­®, ­Ґ ®вЄалвЁҐ. € ­Ґ ᮢᥬ ¬®Ґ.
     -- ‚л,  ўҐа®пв­®,  игвЁвҐ, ¤®Єв®а.  ђ ¤Ё ­в  ЏЁ«м¬ ­   --  Ї®­пвЁҐ,
Ё§ўҐбв­®Ґ ўбпЄ®¬г иЄ®«м­ЁЄг.
     -- ќв® ¬Ґ­п  ­Ґ г¤Ёў«пҐв.  ђ ¤Ё ­в ЏЁ«м¬ ­  Ё  Ўл«  ®вЄалв  ўЇҐаўлҐ
Ё¬Ґ­­® иЄ®«м­ЁЄ®¬. Љ ᮦ «Ґ­Ёо, п ­Ґ Ї®¬­о, Є Є ҐЈ® §ў «Ё. Џ®б¬®ваЁвҐ  г
‘вҐвб®­  ў ҐЈ® "€бв®аЁЁ Џ®бҐйҐ­Ёп"  -- в ¬ ўбҐ нв®  Ї®¤а®Ў­® а ббЄ § ­®.
ЋвЄал« а ¤Ё ­в ўЇҐаўлҐ иЄ®«м­ЁЄ, ®ЇгЎ«ЁЄ®ў « Є®®а¤Ё­ вл ўЇҐаўлҐ бв㤥­в,
  ­ §ў «Ё а ¤Ё ­в Ї®зҐ¬г-в® ¬®Ё¬ Ё¬Ґ­Ґ¬.
     -- „ , б ®вЄалвЁп¬Ё Їа®Ёб室пв Ё­®Ј¤   г¤ЁўЁвҐ«м­лҐ  ўҐйЁ. ЌҐ ¬®Ј«Ё
Ўл ўл ®Ўкпб­Ёвм ­ иЁ¬ б«ги вҐ«п¬, ¤®Єв®а ЏЁ«м¬ ­...

И так продолжалось до тех пор, пока не начали вводиться стандарты. Но и стандартов на текущее время уже немало. Например, есть кодировка Unicode, есть UTF-8, есть UTF-16 и так далее…

ВАЖНО!

Я так и не нашёл, как сменить кодировку по умолчанию при открытии Блокнота и создания нового документа уже из открытой сессии Блокнота.

Зато нашёл, как сменить кодировку по умолчанию, когда текстовый документ сначала создаётся (из контекстного меню) и только потому открывается Блокнотом. Тогда кодировка файла будет та, которая будет прописана по умолчанию. Об этом и пойдёт ниже речь.

Итак, для того, чтобы поменять кодировку создаваемых текстовых документов по умолчанию, нам понадобиться внести изменения в Реестр Windows.

В данной статье рассмотрен пример для файлов с расширением .txt, а т.к. в Windows программой, открывающей эти файлы по умолчанию является Блокнот, то некоторые считают, что меняют кодировку по умолчанию в самом Блокноте. Но это не так.

Меняется кодировка по умолчанию создаваемого файла. Блокнот лишь открывает документ, считывая уже прописанную в нём кодировку. В самом Блокноте прошита кодировка ANSI. И, похоже, это не поменять средствами Реестра Windows.

Как бы Windows не старался насаждать свои стандарты, большинство современных серверов работают на *nix операционных системах потому, что эти системы имеют открытый код и не имеют «корпоративной тайны на семью печатями». То есть, в них можно разобраться самостоятельно: что и как работает. Думаю, и дальше будет такая же тенденция. Все более-менее «продвинутые пользователи ПК» будут использовать программное обеспечение с открытым кодом для работы, и программы «из пакетов» для быстрой обработки данных (чтобы не изобретать велосипедов). На *nix операционных системах на текущий момент кодировкой по умолчанию является кодировка UTF-8. Её можно без особых заморочек выставить другой, но зачем, если она на большинстве серверов и они нормально друг с другом *nix «общаются»?

У меня на сервере тоже стоит UTF-8 и это удобно. Поэтому задача у меня стояла, как сменить кодировку в Блокноте по умолчанию для Windows с ANSI на общепринятую UTF-8.

Ну и хватит лирики. К делу!

Сперва удостоверимся в том, что в Блокноте стоит по умолчанию кодировка ANSI, для этого достаточно «Сохранить как…» любой документ и увидеть его кодировку:

Что делать, чтобы сменить кодировку в Блокноте по умолчанию с

ANSI на другую:
  1. Открываем Блокнот или создаём новый текстовый документ и потом его открываем в Блокноте
  2. Меняем кодировку текстового файла
  3. Сохраняем этот документ (я свой назвал по названию кодировки UTF-8.txt)
    1. Если не видно расширение файла, то можно его сделать видимым
    2. Можно
      сохранить файл и переименовать
  4. Перемещаем созданный документ в папку C:\Windows\ShellNew (сразу создать текстовый документ в этой папке не получится — защита Windows от внесения изменений в системные папки)
    1. Если папки нет (что мало вероятно), то её нужно создать и также переместить на место: C:\Windows\ShellNew
  5. Теперь открываем редактор реестра
  6. Находим папку HKEY_CLASSES_ROOT / .txt / ShellNew / (она должна быть, если нет, то создаём)
  7. Создаём строковый параметр:
    1. С именем FileName
    2. Со значением UTF-8.txt (имя того файла, который мы создали в п.3 перенесли в папку C:\Windows\ShellNew в п.4)
  8. Радуемся! Ибо это всё =)

Теперь при создании текстового файла с помощью контекстного меню у него будет та кодировка, которая была нами установлена в файле-образце, лежащем в папке 

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 между разными языками не могут быть преобразованы друг в друга, что приведет к искажению кодов в смешанном тексте на нескольких языках. Чтобы

Кодировка Unicode 
Чтобы разрешить конфликт кодов 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 используется для нескольких разных кодировок:

  1. ISO 8859-1
  2. Windows CP1252
  3. Текущая системная кодировка на компьютере 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

%d0%ba%d0%be%d0%b4%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d1%83 — English translation – Linguee

Организация обеспечила подготовку сотрудников и предоставила оборудование для укрепления базы четырех общинных радиостанций в

[…]

Карибском бассейне («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 используется для нескольких различных кодировок:

  1. ISO 8859-1
  2. Окна CP1252
  3. Текущая системная кодировка на машине 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.

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *