powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Консольная программя для изменения кодовой страницы
25 сообщений из 25, страница 1 из 1
Консольная программя для изменения кодовой страницы
    #37107055
DomenER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Подскажите пожалуйста программу, которая сможет менять кодировку страницы для файлов из UTF-8 (65001) в DosRus(866). Или код на написание консольной программы тоже очень помог бы.

Нужно посылать программе команды типа: cmd.exe C:\file_in.txt C:\file_out.txt
file_in.txt - у же существующий файл в кодировке UTF-8
file_out.txt - создавайемый файл с изменённой кодировкой.
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107079
-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
-
Гость
iconv
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107107
DomenER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-,

и где такую программу можно скачать? я нашёл лишь, что это функция для php..., а мне нужна консольная программа которая бы создавала новый файл с изменённой кодировкой...
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107122
DomenER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-iconv

программа iconv для Linux, входящая в пакет glibs любого дистрибутива.


Нужно под Windows...
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107134
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
ftp://ftp.zlatkovic.com/libxml/
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107162
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 09.02.2011 15:49, DomenER wrote:

> программа iconv для Linux, входящая в пакет glibs любого дистрибутива.
>
>
> Нужно под Windows...

Ну дык поставь её под виндовз, в чём проблема-то ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107210
DomenER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо вам.

теперь разобраться как ей пользоваться...


в документации в инете пишут что-то типа Iconv.iconv('gbk', 'utf-8', string)

а так iconv.exe form.txt и что ещё в качестве параметров указывать пока не понятно...
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107270
DomenER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iconv -f UTF-8 -t CP866 FORM.txt > tmp.txt

пишет cannot convert
Из этого UTF-8:

я╗┐Utilities.CallError("╨Э╨╡ ╨┐╨╛╨╗╤Г╤З╨╕╨╗╨╛╤Б╤М ╨┐╨╛╨┤╨║╨╗╤О╤З╨╕╤В╤М╤Б╤П ╨║ ╨С╨Ф.<br/>" + error.ErrorMessage);

нужно получить вот это 866:
Utilities.CallError("Не получилось подключиться к БД.<br/>" + error.ErrorMessage);
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107297
-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
-
Гость
DomenERiconv -f UTF-8 -t CP866 FORM.txt > tmp.txt

пишет cannot convert
Из этого UTF-8:

я╗┐Utilities.CallError("╨Э╨╡ ╨┐╨╛╨╗╤Г╤З╨╕╨╗╨╛╤Б╤М ╨┐╨╛╨┤╨║╨╗╤О╤З╨╕╤В╤М╤Б╤П ╨║ ╨С╨Ф.<br/>" + error.ErrorMessage);

нужно получить вот это 866:
Utilities.CallError("Не получилось подключиться к БД.<br/>" + error.ErrorMessage);
1) Что "точно" пишет?
2) Если UTF-8 и CP866 перечислены в поддерживаемых кодовых страницах - список можно получить "iconv -l", - то должно конвертиться.
3) Файл точно в UTF-8? Откуда Вы это знаете?
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107336
DomenER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-DomenERiconv -f UTF-8 -t CP866 FORM.txt > tmp.txt

пишет cannot convert
Из этого UTF-8:

я╗┐Utilities.CallError("╨Э╨╡ ╨┐╨╛╨╗╤Г╤З╨╕╨╗╨╛╤Б╤М ╨┐╨╛╨┤╨║╨╗╤О╤З╨╕╤В╤М╤Б╤П ╨║ ╨С╨Ф.<br/>" + error.ErrorMessage);

нужно получить вот это 866:
Utilities.CallError("Не получилось подключиться к БД.<br/>" + error.ErrorMessage);
1) Что "точно" пишет?
2) Если UTF-8 и CP866 перечислены в поддерживаемых кодовых страницах - список можно получить "iconv -l", - то должно конвертиться.
3) Файл точно в UTF-8? Откуда Вы это знаете?

1)iconv: FORM.txt: cannot convert
2) перечислены
3) в Far просматриваю txt файл в кодировке Utf-8 (выборка кодовой страницы Shift+F8) и текст отображается на русском.
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107353
DomenER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так работает с другим текстом:

iconv -f CP1251 -t utf-16 text.txt > tmp.txt

а тест был просто набором русских символов: рпаркер65р56рз5клбрз6б
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107372
-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
-
Гость
DomenER-пропущено...

1) Что "точно" пишет?
2) Если UTF-8 и CP866 перечислены в поддерживаемых кодовых страницах - список можно получить "iconv -l", - то должно конвертиться.
3) Файл точно в UTF-8? Откуда Вы это знаете?

1)iconv: FORM.txt: cannot convert
2) перечислены
3) в Far просматриваю txt файл в кодировке Utf-8 (выборка кодовой страницы Shift+F8) и текст отображается на русском.
Far-то, ясен пень, понимает, что он туда написал. Но это может быть запросто UTF-8Y, например :-)
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107387
DomenER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В целом всем большое спасибо. На данном этапе топик больше не востребован, а так - время покажет.
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107404
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DomenER,

Ну вот в том же Фаре обрати внимание на коды символов. Функция конвертирования тривиальна.
Напиши в Юникоде строку "Hello! A Z a z Привет! А Я а я" и просмотри это файл в 866-ой.
Если код символа до 128-и - это однобайтовый латинский символ, который менять не надо. А коды русских букв, как видно в фаре двубайтовые и первый байт их 208 или 209. В таком случае первый выбрасываем, второй взаимнооднозначно приводим к коду соответсвующей буквы в 866-ой кодировке и вуаля.
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107415
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой, ну не выбрасываем конечно первый байт! А берем двубайтовое число и вычитая из него смещение, получаем однобайтовое значение
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37107419
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. из "А" (1040) получаем "А" (128)
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37110226
Фотография mccc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodePage ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
CodePage ?

Запуск:
		 - InCodePage
		 - OutCodePage
		 - InFile		[ | File_WildCard	 [/s] ]
		 - OutFile


Установленные CodePage


    N   CodePage   BodyName                      EncodingName
     0      1251       koi8-r                         Cyrillic (Windows)		-- Default
    37        37       IBM037                         IBM EBCDIC (US-Canada)
   437       437       IBM437                         OEM United States
   500       500       IBM500                         IBM EBCDIC (International)
   708       708       ASMO- 708                        Arabic (ASMO  708 )
   720       720       DOS- 720                         Arabic (DOS)
   737       737       ibm737                         Greek (DOS)
   775       775       ibm775                         Baltic (DOS)
   850       850       ibm850                         Western European (DOS)
   852       852       ibm852                         Central European (DOS)
   855       855       IBM855                         OEM Cyrillic
   857       857       ibm857                         Turkish (DOS)
   858       858       IBM00858                       OEM Multilingual Latin I
   860       860       IBM860                         Portuguese (DOS)
   861       861       ibm861                         Icelandic (DOS)
   862       862       DOS- 862                         Hebrew (DOS)
   863       863       IBM863                         French Canadian (DOS)
   864       864       IBM864                         Arabic ( 864 )
   865       865       IBM865                         Nordic (DOS)
   866       866       cp866                          Cyrillic (DOS)
   869       869       ibm869                         Greek, Modern (DOS)
   870       870       IBM870                         IBM EBCDIC (Multilingual Latin- 2 )
   874       874       windows- 874                     Thai (Windows)
   875       875       cp875                          IBM EBCDIC (Greek Modern)
   932       932       iso- 2022 -jp                    Japanese (Shift-JIS)
   936       936       gb2312                         Chinese Simplified (GB2312)
   949       949       ks_c_5601- 1987                  Korean
   950       950       big5                           Chinese Traditional (Big5)
  1026      1026       IBM1026                        IBM EBCDIC (Turkish Latin- 5 )
  1047      1047       IBM01047                       IBM Latin- 1 
  1140      1140       IBM01140                       IBM EBCDIC (US-Canada-Euro)
  1141      1141       IBM01141                       IBM EBCDIC (Germany-Euro)
  1142      1142       IBM01142                       IBM EBCDIC (Denmark-Norway-Euro)
  1143      1143       IBM01143                       IBM EBCDIC (Finland-Sweden-Euro)
  1144      1144       IBM01144                       IBM EBCDIC (Italy-Euro)
  1145      1145       IBM01145                       IBM EBCDIC (Spain-Euro)
  1146      1146       IBM01146                       IBM EBCDIC (UK-Euro)
  1147      1147       IBM01147                       IBM EBCDIC (France-Euro)
  1148      1148       IBM01148                       IBM EBCDIC (International-Euro)
  1149      1149       IBM01149                       IBM EBCDIC (Icelandic-Euro)
  1200      1200       utf- 16                          Unicode
  1201      1201       unicodeFFFE                    Unicode (Big-Endian)
  1250      1250       iso- 8859 - 2                      Central European (Windows)
  1251      1251       koi8-r                         Cyrillic (Windows)
  1252      1252       iso- 8859 - 1                      Western European (Windows)
  1253      1253       iso- 8859 - 7                      Greek (Windows)
  1254      1254       iso- 8859 - 9                      Turkish (Windows)
  1255      1255       windows- 1255                    Hebrew (Windows)
  1256      1256       windows- 1256                    Arabic (Windows)
  1257      1257       windows- 1257                    Baltic (Windows)
  1258      1258       windows- 1258                    Vietnamese (Windows)
  1361      1361       Johab                          Korean (Johab)
 10000     10000       macintosh                      Western European (Mac)
 10001     10001       x-mac-japanese                 Japanese (Mac)
 10002     10002       x-mac-chinesetrad              Chinese Traditional (Mac)
 10003     10003       x-mac-korean                   Korean (Mac)
 10004     10004       x-mac-arabic                   Arabic (Mac)
 10005     10005       x-mac-hebrew                   Hebrew (Mac)
 10006     10006       x-mac-greek                    Greek (Mac)
 10007     10007       x-mac-cyrillic                 Cyrillic (Mac)
 10008     10008       x-mac-chinesesimp              Chinese Simplified (Mac)
 10010     10010       x-mac-romanian                 Romanian (Mac)
 10017     10017       x-mac-ukrainian                Ukrainian (Mac)
 10021     10021       x-mac-thai                     Thai (Mac)
 10029     10029       x-mac-ce                       Central European (Mac)
 10079     10079       x-mac-icelandic                Icelandic (Mac)
 10081     10081       x-mac-turkish                  Turkish (Mac)
 10082     10082       x-mac-croatian                 Croatian (Mac)
 20000     20000       x-Chinese-CNS                  Chinese Traditional (CNS)
 20001     20001       x-cp20001                      TCA Taiwan
 20002     20002       x-Chinese-Eten                 Chinese Traditional (Eten)
 20003     20003       x-cp20003                      IBM5550 Taiwan
 20004     20004       x-cp20004                      TeleText Taiwan
 20005     20005       x-cp20005                      Wang Taiwan
 20105     20105       x-IA5                          Western European (IA5)
 20106     20106       x-IA5-German                   German (IA5)
 20107     20107       x-IA5-Swedish                  Swedish (IA5)
 20108     20108       x-IA5-Norwegian                Norwegian (IA5)
 20127     20127       us-ascii                       US-ASCII
 20261     20261       x-cp20261                      T. 61 
 20269     20269       x-cp20269                      ISO- 6937 
 20273     20273       IBM273                         IBM EBCDIC (Germany)
 20277     20277       IBM277                         IBM EBCDIC (Denmark-Norway)
 20278     20278       IBM278                         IBM EBCDIC (Finland-Sweden)
 20280     20280       IBM280                         IBM EBCDIC (Italy)
 20284     20284       IBM284                         IBM EBCDIC (Spain)
 20285     20285       IBM285                         IBM EBCDIC (UK)
 20290     20290       IBM290                         IBM EBCDIC (Japanese katakana)
 20297     20297       IBM297                         IBM EBCDIC (France)
 20420     20420       IBM420                         IBM EBCDIC (Arabic)
 20423     20423       IBM423                         IBM EBCDIC (Greek)
 20424     20424       IBM424                         IBM EBCDIC (Hebrew)
 20833     20833       x-EBCDIC-KoreanExtended        IBM EBCDIC (Korean Extended)
 20838     20838       IBM-Thai                       IBM EBCDIC (Thai)
 20866     20866       koi8-r                         Cyrillic (KOI8-R)
 20871     20871       IBM871                         IBM EBCDIC (Icelandic)
 20880     20880       IBM880                         IBM EBCDIC (Cyrillic Russian)
 20905     20905       IBM905                         IBM EBCDIC (Turkish)
 20924     20924       IBM00924                       IBM Latin- 1 
 20932     20932       EUC-JP                         Japanese (JIS  0208 - 1990  and  0212 - 1990 )
 20936     20936       x-cp20936                      Chinese Simplified (GB2312- 80 )
 21025     21025       cp1025                         IBM EBCDIC (Cyrillic Serbian-Bulgarian)
 21027     21027       x-cp21027                      Ext Alpha Lowercase
 21866     21866       koi8-u                         Cyrillic (KOI8-U)
 28591     28591       iso- 8859 - 1                      Western European (ISO)
 28592     28592       iso- 8859 - 2                      Central European (ISO)
 28593     28593       iso- 8859 - 3                      Latin  3  (ISO)
 28594     28594       iso- 8859 - 4                      Baltic (ISO)
 28595     28595       iso- 8859 - 5                      Cyrillic (ISO)
 28596     28596       iso- 8859 - 6                      Arabic (ISO)
 28597     28597       iso- 8859 - 7                      Greek (ISO)
 28598     28598       iso- 8859 - 8                      Hebrew (ISO-Visual)
 28599     28599       iso- 8859 - 9                      Turkish (ISO)
 28603     28603       iso- 8859 - 13                     Estonian (ISO)
 28605     28605       iso- 8859 - 15                     Latin  9  (ISO)
 38598     38598       iso- 8859 - 8 -i                   Hebrew (ISO-Logical)
 50220     50220       iso- 2022 -jp                    Japanese (JIS)
 50221     50221       iso- 2022 -jp                    Japanese (JIS-Allow  1  byte Kana)
 50222     50222       iso- 2022 -jp                    Japanese (JIS-Allow  1  byte Kana - SO/SI)
 50225     50225       iso- 2022 -kr                    Korean (ISO)
 50227     50227       x-cp50227                      Chinese Simplified (ISO- 2022 )
 51932     51932       euc-jp                         Japanese (EUC)
 51936     51936       EUC-CN                         Chinese Simplified (EUC)
 52936     52936       hz-gb- 2312                      Chinese Simplified (HZ)
 54936     54936       GB18030                        Chinese Simplified (GB18030)
 65000     65000       utf- 7                           Unicode (UTF- 7 )
 65001     65001       utf- 8                           Unicode (UTF- 8 )
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37110322
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DomenERiconv -f UTF-8 -t CP866 FORM.txt > tmp.txt

пишет cannot convert
Из этого UTF-8:

я╗┐Utilities.CallError("╨Э╨╡ ╨┐╨╛╨╗╤Г╤З╨╕╨╗╨╛╤Б╤М ╨┐╨╛╨┤╨║╨╗╤О╤З╨╕╤В╤М╤Б╤П ╨║ ╨С╨Ф.<br/>" + error.ErrorMessage);

нужно получить вот это 866:
Utilities.CallError("Не получилось подключиться к БД.<br/>" + error.ErrorMessage);

еще бывает utf-8 without bom - поищите укак точнее называеца
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37110602
)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
)
Гость
mcccCodePage ?
Исполняемый файл 16Кб - это здорово, конечно. Ассемблер?

Но вот конвертит эта штука не в чистый UTF-8, а в UTF-8Y (UTF with BOM) - чем она пользуется для этого? Windows API? ТС может и подойдёт как раз, но вот что-то я первый раз на практике вижу, что кто-то использует BOM. Поэтому и спрашивал, откуда ТС знает исходную кодировку. BOM на практике не используют, потому что есть определители кодировки текста (по первым 1-2 Кб), которые довольно надёжно работают и определяют не только разновидности Unicode, но и всё остальное.

К слову. Из всех знакомых редакторов наиболее корректно "разбирается" с кодировками jEdit. Просто читаете файл, и он грузит его в нужной кодировке. Можно насильно перечитать в другой кодировке, сменить и сохранить в другой кодировке. Notepad++ тоже не плох, но иногда врёт.
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37110786
Автор:
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DomenER1)iconv: FORM.txt: cannot convert
2) перечислены
3) в Far просматриваю txt файл в кодировке Utf-8 (выборка кодовой страницы Shift+F8) и текст отображается на русском.
iconv похоже не поддерживает BOM в начале. Удали первые три байта(я╗┐).
Более простое решение - открой файл в ворде, он предложит импортировать как юникод.
Потом сделай файл-сохранить как. Выбери txt. Ворд предложит на выбор кодировки. Выбирай MS-DOS [второй (*)radio button вверху слева]
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37113076
Фотография mccc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Ассемблер, наверняка будет большего размера.
-это мощь namespace System.Text. там есть возможность c BOM/без,
перехватывать ситуацию неправильной кодировки.
-программа не передназначена для 'корректно "разбирается" с кодировками'
но используя возможности System.Text и это можно сделать, вот исходник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
using System;
using System.IO;
using System.Data;
using System.Text;
using System.Collections;
using System.Text.RegularExpressions;

namespace CodePage
{
	class ConvertCodePage
	{
		static int InCodePage =  0 ;
		static int OutCodePage =  0 ;
		static bool mSubdir = false;
		static Regex mRegex;
		[STAThread]
		static void Main(string[] args)
		{
			if (args.Length >  2 )
			{
				if (intParse(args[ 0 ], ref InCodePage) && intParse(args[ 1 ], ref OutCodePage))
				{
					string[] sp = args[ 2 ].Split(new char[] {'\\', '/'});
					string WC = sp[sp.Length -  1 ];
					if ((WC.LastIndexOf('*') > - 1 ) || (WC.LastIndexOf('?') > - 1 ))
					{
						string sh = WC.Replace("?", @"\w").Replace(".", @"\.").Replace("*", ".*") + "$";
						mRegex = new Regex(sh);
						
						if ((args.Length >  3 ) && (args[ 3 ].ToLower().Equals("/s")))
							mSubdir = true;

						string path = ((sp.Length ==  1 ) ? "." 
							: args[ 2 ].Substring( 0 , args[ 2 ].Length - WC.Length -  1 ));
						
						mDirs(path);
					}
					else
						mFile( args[ 2 ], (  (args.Length >  3 ) ? args[ 3 ] : args[ 2 ]  )  );
				}
				else
					Encodings();
			}
			else
			{
				Console.WriteLine("Запуск:"
					+ "\n\r\t\t - InCodePage"
					+ "\n\r\t\t - OutCodePage"
					+ "\n\r\t\t - InFile		[ | File_WildCard	 [/s] ]"
					+ "\n\r\t\t - OutFile"
					+ "\n\r\n\r");
				if (args.Length !=  0 )
					Encodings();
			}
		}

		static void mDirs(string path)
		{
			try 
			{
				DirectoryInfo dirX = new DirectoryInfo(path);
				foreach (FileSystemInfo fsi in dirX.GetFileSystemInfos("*.*"))
				{
					if ((fsi.Attributes & FileAttributes.Directory) == FileAttributes.Directory)
					{
						if (mSubdir)
							mDirs(path + @"\" + fsi.Name);
					}
					else
					{
						Match m = mRegex.Match(fsi.Name);
						if (m.Success)
							mFile(fsi.FullName, fsi.FullName);
					}
				}
			}
			catch (Exception e) 
			{
				Console.WriteLine("\r\n" + path + "\r\n");
				Console.WriteLine("{0}", e.ToString());
			}
		}

		// чтение с InCodePage
		// сохранить с OutCodePage
		static void mFile(string iFile, string oFile)
		{
			try
			{
				StreamReader sr = new StreamReader(iFile, Encoding.GetEncoding(InCodePage));
				string s = sr.ReadToEnd();
				sr.Close();
				StreamWriter sw = new StreamWriter(oFile, false, Encoding.GetEncoding(OutCodePage));
				sw.Write(s);
				sw.Close();
			}
			catch (Exception e)	
			{
				Console.WriteLine("\r\n{0}:\r\n\t{1}", iFile, e.Message);
			}
		}

		static bool intParse(string s, ref int i)
		{
			try
			{
				i = Int32.Parse(s);
				return true;
			} 
			catch (Exception)
			{
				return false;
			}
		}

		static void Encodings()
		{
			Encoding t;
			Console.WriteLine("Установленные CodePage\r\n\r\n");
			Console.WriteLine("    N   CodePage   BodyName                      EncodingName");

			string s;
			for (int i =  0 ; i < 0x10000; i++)
			{
				try 
				{
					t = Encoding.GetEncoding(i);
					s  =  String.Format("{0,5:D}   {1,5:D}      {2,-28}   {3}",
						i, t.CodePage, t.BodyName, t.EncodingName);
					if (i ==  0 ) s += "		-- Default";
					Console.WriteLine(s);
				}
				catch (Exception e)
				{
					s = e.Message;
				}
			}
		}


	}
}
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37113141
)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
)
Гость
mccc-Ассемблер, наверняка будет большего размера.
-это мощь namespace System.Text...
Спасибо за исходник.
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37114471
DomenER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем огромное спасибо. iConv прекрасно работает. За исходник программы тоже спасибо.
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37115123
-)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
-)
Гость
DomenERВсем огромное спасибо. iConv прекрасно работает. За исходник программы тоже спасибо.Таки в какой кодировке был самый первый файл, с которого начинался весь "балет"? Уже просто спортивный интерес :-)
...
Рейтинг: 0 / 0
Консольная программя для изменения кодовой страницы
    #37117199
DomenER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-)DomenERВсем огромное спасибо. iConv прекрасно работает. За исходник программы тоже спасибо.Таки в какой кодировке был самый первый файл, с которого начинался весь "балет"? Уже просто спортивный интерес :-)


Я потом с другим текстом стал работать.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Консольная программя для изменения кодовой страницы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]