Ну-у-у, батенька, это кривизна рук, а не WSH.Вовка писал(а):А после того, как при попытке написать подобный скрипт под WSH на WS2K я отправил сервер в BSOD,
Зона РФ. Есть тема?
Re: Зона РФ. Есть тема?
Re: Зона РФ. Есть тема?
Блин, Дока, ну ты же программист! Это может быть для тебя и основной инструмент, основное - это проводник, IE, MediaPlayer и Word.DOKA писал(а):Ega32, неверное рассуждение. А `cat` & `notepad` - одни из основных userspace-программ, так что не поддерживает WinXP в полной мере юникод.
Re: Зона РФ. Есть тема?
А, т. е. Windows непригодна для программистов? Как жаль, как жаль. А я так надеялся.Ega23 писал(а):Блин, Дока, ну ты же программист! Это может быть для тебя и основной инструмент, основное - это проводник, IE, MediaPlayer и Word.DOKA писал(а):Ega32, неверное рассуждение. А `cat` & `notepad` - одни из основных userspace-программ, так что не поддерживает WinXP в полной мере юникод.
(скромно умолчу про то, что notepad - как раз таки утилита пользователя, а не программиста. Я-то пользую pspad, который предоставляет некоторое подобие tail).
Re: Зона РФ. Есть тема?
Для профи пригодна любая ОС.DOKA писал(а):А, т. е. Windows непригодна для программистов? Как жаль, как жаль. А я так надеялся.
Да ну, вот у меня шурин - типичный пользователь, не программист. Он этот нотепад открывал за свою жизнь раз 5 наверное.DOKA писал(а):(скромно умолчу про то, что notepad - как раз таки утилита пользователя, а не программиста.
Вообще жалобы на ущербность стандартного блокнота мне несколько непонятны. Давайте ещё пожалуемся, что в Лексиконе в документ нельзя png-картинку вставить.
Re: Зона РФ. Есть тема?
На ящик коньяка забъёмся? В Windows ВСЕ имена файлов - в юникоде. А вот как он потом их тебе показывает - дело "показывальщика". Но с точки зрения ОС имя любого файла - это юникод.Hypper писал(а):Нет. Имена файликов на русском языке в cp866.
Код: Выделить всё
HANDLE
WINAPI
CreateFileA(
LPCSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile
)
/*++
Routine Description:
ANSI thunk to CreateFileW
--*/
{
PUNICODE_STRING Unicode;
Unicode = Basep8BitStringToStaticUnicodeString( lpFileName );
if (Unicode == NULL) {
return INVALID_HANDLE_VALUE;
}
return ( CreateFileW( Unicode->Buffer,
dwDesiredAccess,
dwShareMode,
lpSecurityAttributes,
dwCreationDisposition,
dwFlagsAndAttributes,
hTemplateFile
)
);
}
Re: Зона РФ. Есть тема?
В догонку. Только что провёл эксперимент. В Notepad++ создал файл с текстом "мама мыла раму" и с кодировкой UTF-8.
Сохранил на диск. Открыл блокнотом. Увидел всё как надо.
Вопрос: а что я сделал не так?
Ещё вдогонку: отрыл этот же файл в FireFox, увидел тот же текст. Посмотрел кодировку - автоопределение, Юникод (UTF-8). Принудительно исправил на Win1251, получил ожидаемый эффект в виде кракозябр.
Notepad всё ещё не поддерживает юникод?
Сохранил на диск. Открыл блокнотом. Увидел всё как надо.
Вопрос: а что я сделал не так?

Ещё вдогонку: отрыл этот же файл в FireFox, увидел тот же текст. Посмотрел кодировку - автоопределение, Юникод (UTF-8). Принудительно исправил на Win1251, получил ожидаемый эффект в виде кракозябр.
Notepad всё ещё не поддерживает юникод?

Re: Зона РФ. Есть тема?
(терпеливо) Еще раз повторю - срать мне, что там в кишках. Кодом потрясать - пустое.Ega23 писал(а):На ящик коньяка забъёмся? В Windows ВСЕ имена файлов - в юникоде. А вот как он потом их тебе показывает - дело "показывальщика". Но с точки зрения ОС имя любого файла - это юникод.Hypper писал(а):Нет. Имена файликов на русском языке в cp866.
Действует минимум с Win2000, возможно и раньше.
Когда я беру носитель, куда винда сохранила файло, и сую куда-то еще, там имена файлов в DOS.
Потыкать в ГУЕ, чтобы винда сохраняла имена фаликов в UTF есть где? Или просто NTFS и FAT не умеют адекватно?
Ололо, щас расплачусь! Нотепад++ создает signedUTF. Открой файлик чем-то, что покажет его asis - первые два байта указывают на.Ega23 писал(а):В догонку. Только что провёл эксперимент. В Notepad++ создал файл с текстом "мама мыла раму" и с кодировкой UTF-8.
Сохранил на диск. Открыл блокнотом. Увидел всё как надо.
Вопрос: а что я сделал не так?
Ещё вдогонку: отрыл этот же файл в FireFox, увидел тот же текст. Посмотрел кодировку - автоопределение, Юникод (UTF-8). Принудительно исправил на Win1251, получил ожидаемый эффект в виде кракозябр.
Notepad всё ещё не поддерживает юникод?
Прочитать unsigned utf-8 нотепад не. Создать текст в utf-8 - аналогично. Переключить кодировку просматриваемого файла руками - не. Это, наверное, и есть "поддерживает".
Re: Зона РФ. Есть тема?
Я, вроде, даже скриншоты не поленился сделать. Но нет: всегда хочется привести частный случай, который таки работает. Тебе Microsoft случаем не доплачивает?Ega23 писал(а): Notepad всё ещё не поддерживает юникод?
Re: Зона РФ. Есть тема?
(терпеливо) Они там в юникоде. А вот то, что та среда, которой ты это просматриваешь, воспринимает его как ANSI - это проблемы среды.Hypper писал(а):Когда я беру носитель, куда винда сохранила файло, и сую куда-то еще, там имена файлов в DOS.
NTFS и FAT - это файловые системы, они никуда ничего не сохраняют. И потом, UTF по-твоему не юникод?Hypper писал(а):Потыкать в ГУЕ, чтобы винда сохраняла имена фаликов в UTF есть где? Или просто NTFS и FAT не умеют адекватно?
Ещё раз: он для этого не предназначен. Он и файлы большие с офигенным скрипом открывает. Именно поэтому первое, что я делаю, когда голую систему получаю - ставлю Total Commander, Notepad++ и Process Explorer. потому что стандартные Explorer, Notepad и Task Manager лично меня не устраивают по довольно большому ряду причин.Hypper писал(а):Прочитать unsigned utf-8 нотепад не. Создать текст в utf-8 - аналогично. Переключить кодировку просматриваемого файла руками - не. Это, наверное, и есть "поддерживает".
Re: Зона РФ. Есть тема?
Нет, не доплачивает. Но тебя-то, надеюсь, не пугаес сишный синтаксис и такие слова как MSDN и CreateFile?DOKA писал(а):Я, вроде, даже скриншоты не поленился сделать. Но нет: всегда хочется привести частный случай, который таки работает. Тебе Microsoft случаем не доплачивает?Ega23 писал(а): Notepad всё ещё не поддерживает юникод?
Блин, ты же профи, ну посмотри, что первоисточник пишет. Любое имя файла на момент чтения/записи - юникод.
Re: Зона РФ. Есть тема?
Например, пресловутая консоль, которая заморожена раньше, чем изделана поддержка юникода... dir >1. Ой, имена файликов в ср-866? Как же она, замороженная, вот так взяли и перекодировала на лету?Ega23 писал(а):(терпеливо) Они там в юникоде. А вот то, что та среда, которой ты это просматриваешь, воспринимает его как ANSI - это проблемы среды.Hypper писал(а):Когда я беру носитель, куда винда сохранила файло, и сую куда-то еще, там имена файлов в DOS.
Например в какой-нито юникс сунем - ой, обратно в ср-866.
Какие плохие кругом среды, дадад.
Что не устраивает лично кого - дело лично кого. Текстовый редактор не предназначен для просмотра-редактирования текста - это мы понимаем.Ega23 писал(а):Ещё раз: он для этого не предназначен. Он и файлы большие с офигенным скрипом открывает. Именно поэтому первое, что я делаю, когда голую систему получаю - ставлю Total Commander, Notepad++ и Process Explorer. потому что стандартные Explorer, Notepad и Task Manager лично меня не устраивают по довольно большому ряду причин.Hypper писал(а):Прочитать unsigned utf-8 нотепад не. Создать текст в utf-8 - аналогично. Переключить кодировку просматриваемого файла руками - не. Это, наверное, и есть "поддерживает".
Что винда встроенными программами юникод для юзера не умеет - выяснили. Чего же боле?
Обсуждать посторонние прилады я не настроен сейчас.
Re: Зона РФ. Есть тема?
1. Есть хранение, есть отображение. У тебя картинка хранится на диске в png-формате, однако отображается один фиг в bmp.Hypper писал(а):Например, пресловутая консоль, которая заморожена раньше, чем изделана поддержка юникода... dir >1. Ой, имена файликов в ср-866? Как же она, замороженная, вот так взяли и перекодировала на лету?
Например в какой-нито юникс сунем - ой, обратно в ср-866.
2. Мне казалось, что с консолью уже давно всё понятно. Хочешь мощный шелл - используй WSH. Хочешь старую версию, что под DOS годилась - пользуй cmd. Если ты не изучил новую технологию и по-прежнему цепляешься за bat-файлы - ну ты имеешь на это право, да. Но только тогда не надо жаловаться.
Нет. Мы выяснили, что ты не умеешь это использовать, только и всего.Ega23 писал(а):Что винда встроенными программами юникод для юзера не умеет - выяснили. Чего же боле?
З.Ы. Работы много, на сегодня я заканчиваю. Можно завтра холивао продолжить, если у кого-то есть желание.

Re: Зона РФ. Есть тема?
Э нет. Если система на примере, опубликованном в учебнике по WSH, падает в BSOD - это проблема не программиста. Система может: не запустить программу, завершить ее с ошибкой, повесить в конце концов, но упасть сама она не может, если борется за гордое звание "операционная". Причем такая защита должна быть даже не на уровне ядра, а, я бы сказал, на уровне ДНК. Впрочем, если система позиционируется как продукт жизнедеятельности Билла Гейтса, то да, возможно все и во всем будет виноват программист. Справедливости ради должен заметить, что это было на сервиспаке 2.5, но по моему очень скромному мнению подобные глюки должны быть вычищены на стадии RC.Ega23 писал(а):Ну-у-у, батенька, это кривизна рук, а не WSH.Вовка писал(а):А после того, как при попытке написать подобный скрипт под WSH на WS2K я отправил сервер в BSOD,
Re: Зона РФ. Есть тема?
Не, я конечно понимаю, что всё удобно на Билли свалить. Но:Вовка писал(а):Э нет. Если система на примере, опубликованном в учебнике по WSH, падает в BSOD - это проблема не программиста. Система может: не запустить программу, завершить ее с ошибкой, повесить в конце концов, но упасть сама она не может, если борется за гордое звание "операционная". Причем такая защита должна быть даже не на уровне ядра, а, я бы сказал, на уровне ДНК. Впрочем, если система позиционируется как продукт жизнедеятельности Билла Гейтса, то да, возможно все и во всем будет виноват программист. Справедливости ради должен заметить, что это было на сервиспаке 2.5, но по моему очень скромному мнению подобные глюки должны быть вычищены на стадии RC.
1. За много лет работы система падала в BSOD 3 раза. Один - сам идиот, без вариантов. Второй - серия ожидаемых падений, ибо шла отладка сервиса. ещё один - была попытка установки чего-то типа Alcohol или Daemon Tools под Висту.
2. Где-то выше проскакивала инфа, что это был сервер. Т.е. не workstation, а именно сервер. Я бы пятьсот раз подумал, прежде чем на сервере такой скрипт отлаживать. А точнее - поднял бы на своей машине виртуалку и отлаживал на ней.
3. Почему у меня ни разу за время использования WSH ничео не падало? Что я делал не так?

Re: Зона РФ. Есть тема?
Серверабывают разные. В том числе и отладочные. Тогда это был отладочный сервер для опробывания различных схем и отработки надежных решений. Но ОС - Wndows ServerEga23 писал(а): 2. Где-то выше проскакивала инфа, что это был сервер. Т.е. не workstation, а именно сервер. Я бы пятьсот раз подумал, прежде чем на сервере такой скрипт отлаживать. А точнее - поднял бы на своей машине виртуалку и отлаживал на ней.
Включать пробовали?Ega23 писал(а):3. Почему у меня ни разу за время использования WSH ничео не падало? Что я делал не так?
Re: Зона РФ. Есть тема?
Вовка писал(а):Включать пробовали?

Просто за много лет насилования разный Windows у меня сложилось стойкое впеччатление, что ОС падает либо в случае, когда китайского железа туда понапихали, либо в случае использования какого-то стороннего "хитрого" железа с несертифицированными драйверами от МС, либо когда говна всякого на машину понаставлено так, что реестр весь забит, либо в случае кривых рук и нечитания мануала.
А, ну да, лицензии на винду тоже нефигово покупать.
Re: Зона РФ. Есть тема?
б-г с ней, с консолью, например.Ega23 писал(а):1. Есть хранение, есть отображение. У тебя картинка хранится на диске в png-формате, однако отображается один фиг в bmp.Hypper писал(а):Например, пресловутая консоль, которая заморожена раньше, чем изделана поддержка юникода... dir >1. Ой, имена файликов в ср-866? Как же она, замороженная, вот так взяли и перекодировала на лету?
Например в какой-нито юникс сунем - ой, обратно в ср-866.
2. Мне казалось, что с консолью уже давно всё понятно. Хочешь мощный шелл - используй WSH. Хочешь старую версию, что под DOS годилась - пользуй cmd. Если ты не изучил новую технологию и по-прежнему цепляешься за bat-файлы - ну ты имеешь на это право, да. Но только тогда не надо жаловаться.
Вот фтыкаю в ХР в "пуск" и далее. wsh не вижу никакого. Зрение плохое?
(терпеливо) Ну так поясни же мне, как встроенными средствами винды суметь создать и прочитать файлик в utf-8. Я этот вопрос который уже раз задаю. Ты же умеешь?Ega23 писал(а):Нет. Мы выяснили, что ты не умеешь это использовать, только и всего.
И как научить его все в нотепаде и прочая делать по умолчанию в юникоде?
Re: Зона РФ. Есть тема?
1. Создать. Открываешь WordPad, пишешь "ффф", Сохранить Как (тип - Unicode Document).Hypper писал(а):(терпеливо) Ну так поясни же мне, как встроенными средствами винды суметь создать и прочитать файлик в utf-8. Я этот вопрос который уже раз задаю. Ты же умеешь?
2. Открыть. Открываешь полученный документ в WordPad или в Notepad. Читаешь.
По-умолчанию - не знаю. Надо MSDN курить, наверняка можно в реестре что-нить настроить.Hypper писал(а):И как научить его все в нотепаде и прочая делать по умолчанию в юникоде?
А зачем?
Посмотрел. В том же диалоге WordPad Save As при смене значения в комбике Save as type вкючается чекбокс Save in this format by default.
Т.е. всё-таки не умеешь. И искать не хочешь. И мануалов не читаешь. Что и требовалось доказать.
Re: Зона РФ. Есть тема?
Маленькое уточнение - начиная с сервиспак 2.Ega23 писал(а): Просто за много лет насилования разный Windows у меня сложилось стойкое впеччатление, что ОС падает либо в случае, когда китайского железа туда понапихали, либо в случае использования какого-то стороннего "хитрого" железа с несертифицированными драйверами от МС, либо когда говна всякого на машину понаставлено так, что реестр весь забит, либо в случае кривых рук и нечитания мануала.
А, ну да, лицензии на винду тоже нефигово покупать.
Re: Зона РФ. Есть тема?
Ну это я не знаю, я на очередную ОС переползаю "по команде", это не от меня зависит.Вовка писал(а):Маленькое уточнение - начиная с сервиспак 2.
Re: Зона РФ. Есть тема?
<тут много поскипано>
А про wsh - иде оно в ХР? В гуях не нашел упоминаний. Или оно попрятано где-то и тоже гуевое?
О, билн! Ваистену!Ega23 писал(а):О, блин! Отставить WordPad
А про wsh - иде оно в ХР? В гуях не нашел упоминаний. Или оно попрятано где-то и тоже гуевое?
Последний раз редактировалось Hypper 07 дек 2009, 17:42, всего редактировалось 1 раз.
Re: Зона РФ. Есть тема?
Блокнотом.Hypper писал(а):Как прочитать файлик в utf-8, созданный не вордпадом (который создает его в не в utf-8)? :) Осел - не вариант.
Re: Зона РФ. Есть тема?
Вот по-умолчанию все новые документы в блокноте сохраняются как ANSI. Тут, похоже, уже ничего не сделать.Using different language formats in NotepadNotepad allows you to create and open documents in several different formats: ANSI, Unicode, big-endian Unicode, or UTF-8. These formats allow you to work with documents that use different character sets.
By default, your documents will be saved as standard ANSI text.
Unicode is a superset of all the major scripts of the world. It includes character sets common to business and computer use. When you save a document in Unicode, you can use Unicode control characters to help with text flow and direction for languages such as Arabic and Hebrew.
Some fonts cannot display all of the Unicode characters. If you see any characters missing in your text file, you can change the font to one that includes the character. Generally, Microsoft Sans Serif is a good choice for Unicode characters.
The bytes (a unit of storage) in a word in a Unicode document created on a big-endian processor, such as the Macintosh, are arranged in an order opposite to that of the bytes in a word in a document created on an Intel processor. The most significant byte has the lowest address, with the word stored big end first. To make your documents accessible to users on these types of computers, save your Notepad file in the big-endian Unicode format.
UTF stands for Universal Character Set Transformation Format. UTF-8 is the 8-bit form of Unicode. Save your document in UTF-8 if you are using older transmission media that support only 8 bits of significant data within individual bytes.
See the Unicode Consortium Web site for more information on these formats.