Add comprehensive test for codepage encodings+recovery for them
authorMax Bolingbroke <batterseapower@hotmail.com>
Tue, 23 Apr 2013 18:15:02 +0000 (19:15 +0100)
committerMax Bolingbroke <batterseapower@hotmail.com>
Wed, 8 May 2013 19:49:34 +0000 (20:49 +0100)
tests/IO/all.T
tests/IO/encoded-data/CP1251-UTF8.txt [new file with mode: 0644]
tests/IO/encoded-data/CP1251.txt [new file with mode: 0644]
tests/IO/encoded-data/CP936-UTF8.txt [new file with mode: 0644]
tests/IO/encoded-data/CP936.txt [new file with mode: 0644]
tests/IO/encoding004.hs [new file with mode: 0644]
tests/IO/encoding004.stdout [new file with mode: 0644]

index 7d94e13..94d75f0 100644 (file)
@@ -145,6 +145,7 @@ test('encoding001',
 
 test('encoding002', normal, compile_and_run, [''])
 test('encoding003', normal, compile_and_run, [''])
+test('encoding004', normal, compile_and_run, [''])
 
 test('environment001',
      [when(msys(), expect_fail), # Doesn't work on MSYS; see #5599
diff --git a/tests/IO/encoded-data/CP1251-UTF8.txt b/tests/IO/encoded-data/CP1251-UTF8.txt
new file mode 100644 (file)
index 0000000..21564fb
--- /dev/null
@@ -0,0 +1,34 @@
+В начале июля, в чрезвычайно жаркое время, под вечер, один молодой человек вышел из своей каморки, которую нанимал от жильцов в С-м переулке, на улицу и медленно, как бы в нерешимости, отправился к К-ну мосту.\r
+Он благополучно избегнул встречи с своею хозяйкой на лестнице. Каморка его приходилась под самою кровлей высокого пятиэтажного дома и походила более на шкаф, чем на квартиру. Квартирная же хозяйка его, у которой он нанимал эту каморку с обедом и прислугой, помещалась одною лестницей ниже, в отдельной квартире, и каждый раз, при выходе на улицу, ему непременно надо было проходить мимо хозяйкиной кухни, почти всегда настежь отворенной на лестницу. И каждый раз молодой человек, проходя мимо, чувствовал какое-то болезненное и трусливое ощущение, которого стыдился и от которого морщился. Он был должен кругом хозяйке и боялся с нею встретиться.\r
+Не то чтоб он был так труслив и забит, совсем даже напротив; но с некоторого времени он был в раздражительном и напряженном состоянии похожем на ипохондрию. Он до того углубился в себя и уединился от всех, что боялся даже всякой встречи, не только встречи с хозяйкой. Он был задавлен бедностью; но даже стесненное положение перестало в последнее время тяготить его. Насущными делами своими он совсем перестал и не хотел заниматься. Никакой хозяйки, в сущности, он не боялся, что бы та ни замышляла против него. Но останавливаться на лестнице, слушать всякий взор про всю эту обыденную дребедень, до которой ему нет никакого дела, все эти приставания о платеже, угрозы, жалобы, и при этом самому изворачиваться, извиняться, лгать, — нет уж, лучше проскользнуть как-нибудь кошкой по лестнице и улизнуть, чтобы никто не видал.\r
+Впрочем, на этот раз страх встречи с своею кредиторшей даже его самого поразил по выходе на улицу.\r
+«На какое дело хочу покуситься и в то же время каких пустяков боюсь! — подумал он с странною улыбкой. — Гм… да… все в руках человека, и все-то он мимо носу проносит, единственно от одной трусости… это уж аксиома… Любопытно, чего люди больше боятся? Нового шага, нового собственного слова они всего больше боятся… А впрочем, я слишком много болтаю. Оттого и ничего не делаю, что болтаю. Пожалуй, впрочем, и так: оттого болтаю, что ничего не делаю. Это я в этот последний месяц выучился болтать, лежа по целым суткам в углу и думая… о царе Горохе. Ну зачем я теперь иду? Разве я способен на это? Разве это серьезно? Совсем не серьезно. Так ради фантазии сам себя тешу; игрушки! Да, пожалуй что и игрушки!»\r
+На улице жара стояла страшная, к тому же духота, толкотня, всюду известка, леса, кирпич, пыль и та особенная летняя вонь, столь известная каждому петербуржцу, не имеющему возможности нанять дачу, — все это разом неприятно потрясло и без того уже расстроенные нервы юноши. Нестерпимая же вонь из распивочных, которых в этой части города особенное множество, и пьяные, поминутно попадавшиеся, несмотря на буднее время, довершили отвратительный и грустный колорит картины. Чувство глубочайшего омерзения мелькнуло на миг в тонких чертах молодого человека. Кстати, он был замечательно хорош собою, с прекрасными темными глазами, темно-рус, ростом выше среднего, тонок и строен. Но скоро он впал как бы в глубокую задумчивость, даже, вернее сказать, как бы в какое-то забытье, и пошел, уже не замечая окружающего, да и не желая его замечать. Изредка только бормотал он что-то про себя, от своей привычки к монологам, в которой он сейчас сам себе признался. В эту же минуту он и сам сознавал, что мысли его порою мешаются и что он очень слаб: второй день как уж он почти совсем ничего не ел.\r
+Он был до того худо одет, что иной, даже и привычный человек, посовестился бы днем выходить в таких лохмотьях на улицу. Впрочем, квартал был таков, что костюмом здесь было трудно кого-нибудь удивить. Близость Сенной, обилие известных заведений и, по преимуществу, цеховое и ремесленное население, скученное в этих серединных петербургских улицах и переулках, пестрили иногда общую панораму такими субъектами, что странно было бы и удивляться при встрече с иною фигурой. Но столько злобного презрения уже накопилось в душе молодого человека, что, несмотря на всю свою, иногда очень молодую, щекотливость, он менее всего совестился своих лохмотьев на улице. Другое дело при встрече с иными знакомыми или с прежними товарищами, с которыми вообще он не любил встречаться… А между тем, когда один пьяный, которого неизвестно почему и куда провозили в это время по улице в огромной телеге, запряженной огромною ломовою лошадью, крикнул ему вдруг, проезжая: «Эй ты, немецкий шляпник!» — и заорал во все горло, указывая на него рукой, — молодой человек вдруг остановился и судорожно схватился за свою шляпу. Шляпа эта была высокая, круглая, циммермановская, но вся уже изношенная, совсем рыжая, вся в дырах и пятнах, без полей и самым безобразнейшим углом заломившаяся на сторону. Но не стыд, а совсем другое чувство, похожее даже на испуг, охватило его.\r
+— Я так и знал! — бормотал он в смущении, — я так и думал! Это уж всего сквернее! Вот эдакая какая-нибудь глупость, какая-нибудь пошлейшая мелочь, весь замысел может испортить! Да, слишком приметная шляпа… Смешная, потому и приметная… К моим лохмотьям непременно нужна фуражка, хотя бы старый блин какой-нибудь, а не этот урод. Никто таких не носит, за версту заметят, запомнят… главное, потом запомнят, ан и улика. Тут нужно быть как можно неприметнее… Мелочи, мелочи главное!.. Вот эти-то мелочи и губят всегда и все…\r
+Идти ему было немного; он даже знал, сколько шагов от ворот его дома: ровно семьсот тридцать. Как-то раз он их сосчитал, когда уж очень размечтался. В то время он и сам еще не верил этим мечтам своим и только раздражал себя их безобразною, но соблазнительною дерзостью. Теперь же, месяц спустя, он уже начинал смотреть иначе и, несмотря на все поддразнивающие монологи о собственном бессилии и нерешимости, «безобразную» мечту как-то даже поневоле привык считать уже предприятием, хотя все еще сам себе не верил. Он даже шел теперь делать пробу своему предприятию, и с каждым шагом волнение его возрастало все сильнее и сильнее.\r
+С замиранием сердца и нервною дрожью подошел он к преогромнейшему дому, выходившему одною стеной на канаву, а другою в -ю улицу. Этот дом стоял весь в мелких квартирах и заселен был всякими промышленниками — портными, слесарями, кухарками, разными немцами, девицами, живущими от себя, мелким чиновничеством и проч. Входящие и выходящие так и шмыгали под обоими воротами и на обоих дворах дома. Тут служили три или четыре дворника. Молодой человек был очень доволен, не встретив ни которого из них, и неприметно проскользнул сейчас же из ворот направо на лестницу. Лестница была темная и узкая, «черная», но он все уже это знал и изучил, и ему вся эта обстановка нравилась: в такой темноте даже и любопытный взгляд был неопасен. «Если о сю пору я так боюсь, что же было бы, если б и действительно как-нибудь случилось до самого дела дойти?..» — подумал он невольно, проходя в четвертый этаж. Здесь загородили ему дорогу отставные солдаты-носильщики, выносившие из одной квартиры мебель. Он уже прежде знал, что в этой квартире жил один семейный немец, чиновник: «Стало быть, этот немец теперь выезжает, и, стало быть, в четвертом этаже, по этой лестнице и на этой площадке, остается, на некоторое время, только одна старухина квартира занятая. Это хорошо… на всякой случай…» — подумал он опять и позвонил в старухину квартиру. Звонок брякнул слабо, как будто был сделан из жести, а не из меди. В подобных мелких квартирах таких домов почти все такие звонки. Он уже забыл звон этого колокольчика, и теперь этот особенный звон как будто вдруг ему что-то напомнил и ясно представил… Он так и вздрогнул, слишком уж ослабели нервы на этот раз. Немного спустя дверь приотворилась на крошечную щелочку: жилица оглядывала из щели пришедшего с видимым недоверием, и только виднелись ее сверкавшие из темноты глазки. Но увидав на площадке много народу, она ободрилась и отворила совсем. Молодой человек переступил через порог в темную прихожую, разгороженную перегородкой, за которою была крошечная кухня. Старуха стояла перед ним молча и вопросительно на него глядела. Это была крошечная, сухая старушонка, лет шестидесяти, с вострыми и злыми глазками, с маленьким вострым носом и простоволосая. Белобрысые, мало поседевшие волосы ее были жирно смазаны маслом. На ее тонкой и длинной шее, похожей на куриную ногу, было наверчено какое-то фланелевое тряпье, а на плечах, несмотря на жару, болталась вся истрепанная и пожелтелая меховая кацавейка. Старушонка поминутно кашляла и кряхтела. Должно быть, молодой человек взглянул на нее каким-нибудь особенным взглядом, потому что и в ее глазах мелькнула вдруг опять прежняя недоверчивость.\r
+— Раскольников, студент, был у вас назад тому месяц, — поспешил пробормотать молодой человек с полупоклоном, вспомнив, что надо быть любезнее.\r
+— Помню, батюшка, очень хорошо помню, что вы были, — отчетливо проговорила старушка, по-прежнему не отводя своих вопрошающих глаз от его лица.\r
+— Так вот-с… и опять, по такому же дельцу… — продолжал Раскольников, немного смутившись и удивляясь недоверчивости старухи.\r
+«Может, впрочем, она и всегда такая, да я в тот раз не заметил», — подумал он с неприятным чувством.\r
+Старуха помолчала, как бы в раздумье, потом отступила в сторону и, указывая на дверь в комнату, произнесла, пропуская гостя вперед: — Пройдите, батюшка.\r
+Небольшая комната, в которую прошел молодой человек, с желтыми обоями, геранями и кисейными занавесками на окнах, была в эту минуту ярко освещена заходящим солнцем. «И тогда, стало быть, так же будет солнце светить!..» — как бы невзначай мелькнуло в уме Раскольникова, и быстрым взглядом окинул он все в комнате, чтобы по возможности изучить и запомнить расположение. Но в комнате не было ничего особенного. Мебель, вся очень старая и из желтого дерева, состояла из дивана с огромною выгнутою деревянною спинкой, круглого стола овальной формы перед диваном, туалета с зеркальцем в простенке, стульев по стенам на двухтрех грошовых картинок в желтых рамках, изображавших немецких барышень с птицами в руках, — вот и вся мебель. В углу перед небольшим образом горела лампада. Все было очень чисто: и мебель, и полы были оттерты под лоск; все блестело. «Лизаветина работа», — подумал молодой человек. Ни пылинки нельзя было найти во всей квартире. «Это у злых и старых вдовиц бывает такая чистота», — продолжал про себя Раскольников и с любопытством покосился на ситцевую занавеску перед дверью во вторую, крошечную комнатку, где стояли старухины постель и комод и куда он еще ни разу не заглядывал. Вся квартира состояла из этих двух комнат. — Что угодно? — строго произнесла старушонка, входя в комнату и по-прежнему становясь прямо перед ним, чтобы глядеть ему прямо в лицо. — Заклад принес, вот-с! — И он вынул из кармана старые плоские серебряные часы. На оборотной дощечке их был изображен глобус. Цепочка была стальная. — Да ведь и прежнему закладу срок. Еще третьего дня месяц как минул. — Я вам проценты еще за месяц внесу; потерпите. — А в том моя добрая воля, батюшка, терпеть или вещь вашу теперь же продать. — Много ль за часы-то, Алена Ивановна? — А с пустяками ходишь, батюшка, ничего, почитай, не стоит. За колечко вам прошлый раз два билетика внесла, а оно и купить-то его новое у ювелира за полтора рубля можно. — Рубля-то четыре дайте, я выкуплю, отцовские. Я скоро деньги получу. — Полтора рубля-с и процент вперед, коли хотите-с. — Полтора рубля! — вскрикнул молодой человек. — Ваша воля. — И старуха протянула ему обратно часы. Молодой человек взял их и до того рассердился, что хотел было уже уйти; но тотчас одумался, вспомнив, что идти больше некуда и что он еще и за другим пришел. — Давайте! — сказал он грубо.\r
+Старуха полезла в карман за ключами и пошла в другую комнату за занавески. Молодой человек, оставшись один среди комнаты, любопытно прислушивался и соображал. Слышно было, как она отперла комод. «Должно быть, верхний ящик, — соображал он. — Ключи она, стало быть, в правом кармане носит… Все на одной связке, в стальном кольце… И там один ключ есть всех больше, втрое, с зубчатою бородкой, конечно, не от комода… Стало быть, есть еще какая-нибудь шкатулка, али укладка… Вот это любопытно. У укладок все такие ключи… А впрочем, как это подло все…» Старуха воротилась. — Вот-с, батюшка: коли по гривне в месяц с рубля, так за полтора рубля причтется с вас пятнадцать копеек, за месяц вперед-с. Да за два прежних рубля с вас еще причитается по сему же счету вперед двадцать копеек. А всего, стало быть тридцать пять. Приходится же вам теперь всего получить за часы ваши рубль пятнадцать копеек. Вот получите-с. — Как! так уж теперь рубль пятнадцать копеек! — Точно так-с. Молодой человек спорить не стал и взял деньги. Он смотрел на старуху и не спешил уходить, точно ему еще хотелось что-то сказать или сделать, но как будто он и сам не знал, что именно… — Я вам, Алена Ивановна, может быть, на днях, еще одну вещь принесу… серебряную… хорошую… папиросочницу одну… вот как от приятеля ворочу… — Он смутился и замолчал. — Ну тогда и будем говорить, батюшка. — Прощайте-с… А вы все дома одни сидите, сестрицы-то нет? — спросил он как можно развязнее, выходя в переднюю. — А вам какое до нее, батюшка, дело? — Да ничего особенного. Я так спросил. Уж вы сейчас… Прощайте, Алена Ивановна!\r
+Раскольников вышел в решительном смущении. Смущение это все более увеличивалось. Сходя по лестнице, он несколько раз даже останавливался, как будто чем-то внезапно пораженный. И наконец, уже на улице, он воскликнул:\r
+«О боже! как это все отвратительно! И неужели, неужели я… нет, это вздор, это нелепость! — прибавил он решительно. — И неужели такой ужас мог прийти мне в голову? На какую грязь способно, однако, мое сердце! Главное: грязно, пакостно, гадко, гадко!.. И я, целый месяц…»\r
+Но он не мог выразить ни словами, ни восклицаниями своего волнения. Чувство бесконечного отвращения, начинавшее давить и мутить его сердце еще в то время, как он только шел к старухе, достигло теперь такого размера и так ярко выяснилось, что он не знал, куда деться от тоски своей. Он шел по тротуару как пьяный, не замечая прохожих и сталкиваясь с ними, и опомнился уже в следующей улице. Оглядевшись, он заметил, что стоит подле распивочной, в которую вход был с тротуара по лестнице вниз, в подвальный этаж. Из дверей, как раз в эту минуту, выходили двое пьяных и, друг друга поддерживая и ругая, взбирались на улицу. Долго не думая, Раскольников тотчас же спустился вниз. Никогда до сих пор не входил он в распивочные, но теперь голова его кружилась, и к тому же палящая жажда томила его. Ему захотелось выпить холодного пива, тем более что внезапную слабость свою он относил и к тому, что был голоден. Он уселся в темном и грязном углу, за липким столиком, спросил пива и с жадностию выпил первый стакан. Тотчас же все отлегло, и мысли его прояснели. «Все это вздор, — сказал он с надеждой, — и нечем тут было смущаться! Просто физическое расстройство! Один какой-нибудь стакан пива, кусок сухаря, — и вот, в один миг, крепнет ум, яснеет мысль, твердеют намерения! Тьфу, какое все это ничтожество!..» Но, несмотря на этот презрительный плевок, он глядел уже весело, как будто внезапно освободясь от какого-то ужасного бремени, и дружелюбно окинул глазами присутствующих. Но даже и в эту минуту он отдаленно предчувствовал, что вся эта восприимчивость к лучшему была тоже болезненная.\r
+В распивочной на ту пору оставалось мало народу. Кроме тех двух пьяных, что попались на лестнице, вслед за ними же вышла еще разом целая ватага, человек в пять, с одною девкой и с гармонией. После них стало тихо и просторно. Остались: один хмельной, но немного, сидевший за пивом, с виду мещанин; товарищ его, толстый, огромный, в сибирке и с седою бородой, очень захмелевший, задремавший на лавке и изредка, вдруг, как бы спросонья, начинавший прищелкивать пальцами, расставив руки врозь, и подпрыгивать верхнею частию корпуса, не вставая с лавки, причем подпевал какую-то ерунду, силясь припомнить стихи, вроде:\r
+Целый год жену ласкал,\r
+Цел-лый год же-ну лас-кал…\r
+Или вдруг, проснувшись, опять:\r
+По Подьяческой пошел,\r
+Свою прежнюю нашел…\r
+Но никто не разделял его счастия; молчаливый товарищ его смотрел на все эти взрывы даже враждебно и с недоверчивостью. Был тут и еще один человек, с виду похожий как бы на отставного чиновника. Он сидел особо, перед своею посудинкой, изредка отпивая и посматривая кругом. Он был тоже как будто в некотором волнении.\r
+\r
+Раскольников не привык к толпе и, как уже сказано, бежал всякого общества, особенно в последнее время. Но теперь его вдруг что-то потянуло к людям. Что-то совершалось в нем как бы новое, и вместе с тем ощутилась какая-то жажда людей. Он так устал от целого месяца этой сосредоточенной тоски своей и мрачного возбуждения, что хотя одну минуту хотелось ему вздохнуть в другом мире, хоть бы в каком бы то ни было, и, несмотря на всю грязь обстановки, он с удовольствием оставался теперь в распивочной.\r
+Хозяин заведения был в другой комнате, но часто входил в главную, спускаясь в нее откуда-то по ступенькам, причем прежде всего выказывались его щегольские смазные сапоги с большими красными отворотами. Он был в поддевке и в страшно засаленном черном атласном жилете, без галстука, а все лицо его было как будто смазано маслом, точно железный замок. За застойкой находился мальчишка лет четырнадцати, и был другой мальчишка моложе, который подавал, если что спрашивали. Стояли крошеные огурцы, черные сухари и резанная кусочками рыба; все это очень дурно пахло. Было душно, так что было даже нестерпимо сидеть, и все до того было пропитано винным запахом, что, кажется, от одного этого воздуха можно было в пять минут сделаться пьяным.\r
+Бывают иные встречи, совершенно даже с незнакомыми нам людьми, которыми мы начинаем интересоваться с первого взгляда, как-то вдруг, внезапно, прежде чем скажем слово. Такое точно впечатление произвел на Раскольникова тот гость, который сидел поодаль и походил на отставного чиновника. Молодой человек несколько раз припоминал потом это первое впечатление и даже приписывал его предчувствию. Он беспрерывно взглядывал на чиновника, конечно, и потому еще, что и сам тот упорно смотрел на него, и видно было, что тому очень хотелось начать разговор. На остальных же, бывших в распивочной, не исключая и хозяина, чиновник смотрел как-то привычно и даже со скукой, а вместе с тем и с оттенком некоторого высокомерного пренебрежения, как бы на людей низшего положения и развития, с которыми нечего ему говорить. Это был человек лет уже за пятьдесят, среднего роста и плотного сложения, с проседью и с большою лысиной, с отекшим от постоянного пьянства желтым, даже зеленоватым лицом и с припухшими веками, из-за которых сияли крошечные, как щелочки, но одушевленные красноватые глазки. Но что-то было в нем очень странное; во взгляде его светилась как будто даже восторженность, — пожалуй, был и смысл и ум, — но в то же время мелькало как будто и безумие. Одет он был в старый, совершенно оборванный черный фрак, с осыпавшимися пуговицами. Одна только еще держалась кое-как, и на нее-то он и застегивался, видимо желая не удаляться приличий. Из-под нанкового жилета торчала манишка, вся скомканная, запачканная и залитая. Лицо было выбрито, по-чиновничьи, но давно уже, так что уже густо начала выступать сизая щетина. Да и в ухватках его действительно было что-то солидно-чиновничье. Но он был в беспокойстве, ерошил волосы и подпирал иногда, в тоске, обеими руками голову, положа продранные локти на залитый и липкий стол. Наконец он прямо посмотрел на Раскольникова и громко и твердо проговорил: — А осмелюсь ли, милостивый государь мой, обратиться к вам с разговором приличным? Ибо хотя вы и не в значительном виде, но опытность моя отличает в вас человека образованного и к напитку непривычного. Сам всегда уважал образованность, соединенную с сердечными чувствами, и, кроме того, состою титулярным советником. Мармеладов — такая фамилия; титулярный советник. Осмелюсь узнать, служить изволили? — Нет, учусь… — отвечал молодой человек, отчасти удивленный и особенным витиеватым тоном речи, и тем, что так прямо, в упор, обратились к нему. Несмотря на недавнее мгновенное желание хотя какого бы ни было сообщества с людьми, он при первом, действительно обращенном к нему слове вдруг ощутил свое обычное неприятное и раздражительное чувство отвращения ко всякому чужому лицу, касавшемуся или хотевшему только прикоснуться к его личности. — Студент, стало быть, или бывший студент! — вскричал чиновник, — так я и думал! Опыт, милостивый государь, неоднократный опыт! — и в знак похвальбы он приложил палец ко лбу. — Были студентом или происходили ученую часть! А позвольте… — Он привстал, покачнулся, захватил свою посудинку, стаканчик, и подсел к молодому человеку, несколько от него наискось. Он был хмелен, но говорил речисто и бойко, изредка только местами сбиваясь немного и затягивая речь. С какою-то даже жадностию накинулся он на Раскольникова, точно целый месяц тоже ни с кем не говорил. — Милостивый государь, — начал он почти с торжественностию, — бедность не порок, это истина. Знаю я, что и пьянство не добродетель, и это тем паче. Но нищета, милостивый государь, нищета — порок-с. В бедности вы еще сохраняете свое благородство врожденных чувств, в нищете же никогда и никто. За нищету даже и не палкой выгоняют, а метлой выметают из компании человеческой, чтобы тем оскорбительнее было; и справедливо, ибо в нищете я первый сам готов оскорблять себя. И отсюда питейное! Милостивый государь, месяц назад тому супругу мою избил господин Лебезятников, а супруга моя не то что я! Понимаете-с? Позвольте еще вас спросить, так, хотя бы в виде простого любопытства: изволили вы ночевать на Неве, на сенных барках? — Нет, не случалось, — отвечал Раскольников. — Это что такое? — Ну-с, а я оттуда, и уже пятую ночь-с…\r
+Он налил стаканчик, выпил и задумался. Действительно, на его платье и даже в волосах кое-где виднелись прилипшие былинки сена. Очень вероятно было, что он пять дней не раздевался и не умывался. Особенно руки были грязны, жирные, красные, с черными ногтями.\r
+Его разговор, казалось, возбудил общее, хотя и ленивое внимание. Мальчишки за стойкой стали хихикать. Хозяин, кажется, нарочно сошел из верхней комнаты, чтобы послушать «забавника», и сел поодаль, лениво, но важно позевывая. Очевидно, Мармеладов был здесь давно известен. Да и наклонность к витиеватой речи приобрел, вероятно, вследствие привычки к частым кабачным разговорам с различными незнакомцами. Эта привычка обращается у иных пьющих в потребность, и преимущественно у тех из них, с которыми дома обходятся строго и которыми помыкают. Оттого-то в пьющей компании они и стараются всегда как будто выхлопотать себе оправдание, а если можно, то даже и уважение. — Забавник! — громко проговорил хозяин. — А для ча не работаешь, для ча не служите, коли чиновник? — Для чего я не служу, милостивый государь, — подхватил Мармеладов, исключительно обращаясь к Раскольникову, как будто это он ему задал вопрос, — для чего не служу? А разве сердце у меня не болит о том, что я пресмыкаюсь втуне? Когда господин Лебезятников, тому месяц назад, супругу мою собственноручно избил, а я лежал пьяненькой, разве я не страдал? Позвольте, молодой человек, случалось вам… гм… ну хоть испрашивать денег взаймы безнадежно? — Случалось… то есть как безнадежно? — То есть безнадежно вполне-с, заранее зная, что из сего ничего не выйдет. Вот вы знаете, например, заранее и досконально, что сей человек, сей благонамереннейший и наиполезнейший гражданин, ни за что вам денег не даст, ибо зачем, спрошу я, он даст? Ведь он знает же, что я не отдам. Из сострадания? Но господин Лебезятников, следящий за новыми мыслями, объяснял намедни, что сострадание в наше время даже наукой воспрещено и что так уже делается в Англии, где политическая экономия. Зачем же, спрошу я, он даст? И вот, зная вперед, что не даст, вы все-таки отправляетесь в путь и… — Для чего же ходить? — прибавил Раскольников. — А коли не к кому, коли идти больше некуда! Ведь надобно же, чтобы всякому человеку хоть куда-нибудь можно было пойти. Ибо бывает такое время, когда непременно надо хоть куда-нибудь да пойти! Когда единородна дочь моя в первый раз по желтому билету пошла, и я тоже тогда пошел… (ибо дочь моя по желтому билету живет-с…) — прибавил он в скобках, с некоторым беспокойством смотря на молодого человека. — Ничего, милостивый государь, ничего! — поспешил он тотчас же, и по-видимому спокойно, заявить, когда фыркнули оба мальчишки за стойкой и улыбнулся сам хозяин. — Ничего-с! Сим покиванием глав не смущаюсь, ибо уже всем все известно и все тайное становиться явным; и не с презрением, а со смирением к сему отношусь. Пусть! пусть! «Се человек!» Позвольте, молодой человек: можете ли вы… Но нет, изъяснить сильнее и изобразительнее: не можете ли вы, а осмелитесь ли вы, взирая в сей час на меня, сказать утвердительно, что я не свинья? Молодой человек не отвечал ни слова.\r
+— Ну-с, — продолжал оратор, солидно и даже с усиленным на этот раз достоинством переждав опять последовавшее в комнате хихикание. — Ну-с, я пусть свинья, а она дама! Я звериный образ имею, а Катерина Ивановна, супруга моя, — особа образованная и урожденная штаб-офицерская дочь. Пусть, пусть я подлец, она же и сердца высокого, и чувств, облагороженных воспитанием, исполнена. А между тем… о, если б она пожалела меня! Милостивый государь, милостивый государь, ведь надобно же, чтоб у всякого человека было хоть одно такое место, где бы и его пожалели! А Катерина Ивановна дама хотя и великодушная, но несправедливая… И хотя я и сам понимаю, что когда она и вихры мои дерет, то дерет их не иначе как от жалости сердца (ибо, повторяю без смущения, она дерет мне вихры, молодой человек, — подтвердил он с сугубым достоинством, услышав опять хихиканье), но, боже, что если б она хотя один раз… Но нет! нет! все сие втуне, и нечего говорить! нечего говорить!.. ибо и не один раз уже бывало желаемое, и не один уже раз жалели меня, но… такова уже черта моя, а я прирожденный скот! — Еще бы! — заметил, зевая, хозяин. Мармеладов решительно стукнул кулаком по столу. — Такова уж черта моя! Знаете ли, знаете ли вы, государь мой, что я даже чулки ее пропил? Не башмаки-с, ибо это хотя сколько-нибудь походило бы на порядок вещей, а чулки, чулки ее пропил-с! Косыночку ее из козьего пуха тоже пропил, дареную, прежнюю, ее собственную, не мою; а живем мы в холодном угле, и она в эту зиму простудилась и кашлять пошла, уже кровью. Детей же маленьких у нас трое, и Катерина Ивановна в работе с утра до ночи скребет и моет и детей обмывает, ибо к чистоте с измалетства привыкла, а с грудью слабою и к чахотке наклонною, и я это чувствую. Разве я не чувствую? И чем более пью, тем более и чувствую. Для того и пью, что в питии сем сострадания и чувства ищу. Не веселья, а единой скорби ищу… Пью, ибо сугубо страдать хочу! — И он, как бы в отчаянии, склонил на стол голову.
\ No newline at end of file
diff --git a/tests/IO/encoded-data/CP1251.txt b/tests/IO/encoded-data/CP1251.txt
new file mode 100644 (file)
index 0000000..a9cb86b
--- /dev/null
@@ -0,0 +1,34 @@
+ íà÷àëå èþëÿ, â ÷ðåçâû÷àéíî æàðêîå âðåìÿ, ïîä âå÷åð, îäèí ìîëîäîé ÷åëîâåê âûøåë èç ñâîåé êàìîðêè, êîòîðóþ íàíèìàë îò æèëüöîâ â Ñ-ì ïåðåóëêå, íà óëèöó è ìåäëåííî, êàê áû â íåðåøèìîñòè, îòïðàâèëñÿ ê Ê-íó ìîñòó.\r
+Îí áëàãîïîëó÷íî èçáåãíóë âñòðå÷è ñ ñâîåþ õîçÿéêîé íà ëåñòíèöå. Êàìîðêà åãî ïðèõîäèëàñü ïîä ñàìîþ êðîâëåé âûñîêîãî ïÿòèýòàæíîãî äîìà è ïîõîäèëà áîëåå íà øêàô, ÷åì íà êâàðòèðó. Êâàðòèðíàÿ æå õîçÿéêà åãî, ó êîòîðîé îí íàíèìàë ýòó êàìîðêó ñ îáåäîì è ïðèñëóãîé, ïîìåùàëàñü îäíîþ ëåñòíèöåé íèæå, â îòäåëüíîé êâàðòèðå, è êàæäûé ðàç, ïðè âûõîäå íà óëèöó, åìó íåïðåìåííî íàäî áûëî ïðîõîäèòü ìèìî õîçÿéêèíîé êóõíè, ïî÷òè âñåãäà íàñòåæü îòâîðåííîé íà ëåñòíèöó. È êàæäûé ðàç ìîëîäîé ÷åëîâåê, ïðîõîäÿ ìèìî, ÷óâñòâîâàë êàêîå-òî áîëåçíåííîå è òðóñëèâîå îùóùåíèå, êîòîðîãî ñòûäèëñÿ è îò êîòîðîãî ìîðùèëñÿ. Îí áûë äîëæåí êðóãîì õîçÿéêå è áîÿëñÿ ñ íåþ âñòðåòèòüñÿ.\r
+Íå òî ÷òîá îí áûë òàê òðóñëèâ è çàáèò, ñîâñåì äàæå íàïðîòèâ; íî ñ íåêîòîðîãî âðåìåíè îí áûë â ðàçäðàæèòåëüíîì è íàïðÿæåííîì ñîñòîÿíèè ïîõîæåì íà èïîõîíäðèþ. Îí äî òîãî óãëóáèëñÿ â ñåáÿ è óåäèíèëñÿ îò âñåõ, ÷òî áîÿëñÿ äàæå âñÿêîé âñòðå÷è, íå òîëüêî âñòðå÷è ñ õîçÿéêîé. Îí áûë çàäàâëåí áåäíîñòüþ; íî äàæå ñòåñíåííîå ïîëîæåíèå ïåðåñòàëî â ïîñëåäíåå âðåìÿ òÿãîòèòü åãî. Íàñóùíûìè äåëàìè ñâîèìè îí ñîâñåì ïåðåñòàë è íå õîòåë çàíèìàòüñÿ. Íèêàêîé õîçÿéêè, â ñóùíîñòè, îí íå áîÿëñÿ, ÷òî áû òà íè çàìûøëÿëà ïðîòèâ íåãî. Íî îñòàíàâëèâàòüñÿ íà ëåñòíèöå, ñëóøàòü âñÿêèé âçîð ïðî âñþ ýòó îáûäåííóþ äðåáåäåíü, äî êîòîðîé åìó íåò íèêàêîãî äåëà, âñå ýòè ïðèñòàâàíèÿ î ïëàòåæå, óãðîçû, æàëîáû, è ïðè ýòîì ñàìîìó èçâîðà÷èâàòüñÿ, èçâèíÿòüñÿ, ëãàòü, \97 íåò óæ, ëó÷øå ïðîñêîëüçíóòü êàê-íèáóäü êîøêîé ïî ëåñòíèöå è óëèçíóòü, ÷òîáû íèêòî íå âèäàë.\r
+Âïðî÷åì, íà ýòîò ðàç ñòðàõ âñòðå÷è ñ ñâîåþ êðåäèòîðøåé äàæå åãî ñàìîãî ïîðàçèë ïî âûõîäå íà óëèöó.\r
+«Íà êàêîå äåëî õî÷ó ïîêóñèòüñÿ è â òî æå âðåìÿ êàêèõ ïóñòÿêîâ áîþñü! \97 ïîäóìàë îí ñ ñòðàííîþ óëûáêîé. \97 Ãì\85 äà\85 âñå â ðóêàõ ÷åëîâåêà, è âñå-òî îí ìèìî íîñó ïðîíîñèò, åäèíñòâåííî îò îäíîé òðóñîñòè\85 ýòî óæ àêñèîìà\85 Ëþáîïûòíî, ÷åãî ëþäè áîëüøå áîÿòñÿ? Íîâîãî øàãà, íîâîãî ñîáñòâåííîãî ñëîâà îíè âñåãî áîëüøå áîÿòñÿ\85 À âïðî÷åì, ÿ ñëèøêîì ìíîãî áîëòàþ. Îòòîãî è íè÷åãî íå äåëàþ, ÷òî áîëòàþ. Ïîæàëóé, âïðî÷åì, è òàê: îòòîãî áîëòàþ, ÷òî íè÷åãî íå äåëàþ. Ýòî ÿ â ýòîò ïîñëåäíèé ìåñÿö âûó÷èëñÿ áîëòàòü, ëåæà ïî öåëûì ñóòêàì â óãëó è äóìàÿ\85 î öàðå Ãîðîõå. Íó çà÷åì ÿ òåïåðü èäó? Ðàçâå ÿ ñïîñîáåí íà ýòî? Ðàçâå ýòî ñåðüåçíî? Ñîâñåì íå ñåðüåçíî. Òàê ðàäè ôàíòàçèè ñàì ñåáÿ òåøó; èãðóøêè! Äà, ïîæàëóé ÷òî è èãðóøêè!»\r
+Íà óëèöå æàðà ñòîÿëà ñòðàøíàÿ, ê òîìó æå äóõîòà, òîëêîòíÿ, âñþäó èçâåñòêà, ëåñà, êèðïè÷, ïûëü è òà îñîáåííàÿ ëåòíÿÿ âîíü, ñòîëü èçâåñòíàÿ êàæäîìó ïåòåðáóðæöó, íå èìåþùåìó âîçìîæíîñòè íàíÿòü äà÷ó, \97 âñå ýòî ðàçîì íåïðèÿòíî ïîòðÿñëî è áåç òîãî óæå ðàññòðîåííûå íåðâû þíîøè. Íåñòåðïèìàÿ æå âîíü èç ðàñïèâî÷íûõ, êîòîðûõ â ýòîé ÷àñòè ãîðîäà îñîáåííîå ìíîæåñòâî, è ïüÿíûå, ïîìèíóòíî ïîïàäàâøèåñÿ, íåñìîòðÿ íà áóäíåå âðåìÿ, äîâåðøèëè îòâðàòèòåëüíûé è ãðóñòíûé êîëîðèò êàðòèíû. ×óâñòâî ãëóáî÷àéøåãî îìåðçåíèÿ ìåëüêíóëî íà ìèã â òîíêèõ ÷åðòàõ ìîëîäîãî ÷åëîâåêà. Êñòàòè, îí áûë çàìå÷àòåëüíî õîðîø ñîáîþ, ñ ïðåêðàñíûìè òåìíûìè ãëàçàìè, òåìíî-ðóñ, ðîñòîì âûøå ñðåäíåãî, òîíîê è ñòðîåí. Íî ñêîðî îí âïàë êàê áû â ãëóáîêóþ çàäóì÷èâîñòü, äàæå, âåðíåå ñêàçàòü, êàê áû â êàêîå-òî çàáûòüå, è ïîøåë, óæå íå çàìå÷àÿ îêðóæàþùåãî, äà è íå æåëàÿ åãî çàìå÷àòü. Èçðåäêà òîëüêî áîðìîòàë îí ÷òî-òî ïðî ñåáÿ, îò ñâîåé ïðèâû÷êè ê ìîíîëîãàì, â êîòîðîé îí ñåé÷àñ ñàì ñåáå ïðèçíàëñÿ. Â ýòó æå ìèíóòó îí è ñàì ñîçíàâàë, ÷òî ìûñëè åãî ïîðîþ ìåøàþòñÿ è ÷òî îí î÷åíü ñëàá: âòîðîé äåíü êàê óæ îí ïî÷òè ñîâñåì íè÷åãî íå åë.\r
+Îí áûë äî òîãî õóäî îäåò, ÷òî èíîé, äàæå è ïðèâû÷íûé ÷åëîâåê, ïîñîâåñòèëñÿ áû äíåì âûõîäèòü â òàêèõ ëîõìîòüÿõ íà óëèöó. Âïðî÷åì, êâàðòàë áûë òàêîâ, ÷òî êîñòþìîì çäåñü áûëî òðóäíî êîãî-íèáóäü óäèâèòü. Áëèçîñòü Ñåííîé, îáèëèå èçâåñòíûõ çàâåäåíèé è, ïî ïðåèìóùåñòâó, öåõîâîå è ðåìåñëåííîå íàñåëåíèå, ñêó÷åííîå â ýòèõ ñåðåäèííûõ ïåòåðáóðãñêèõ óëèöàõ è ïåðåóëêàõ, ïåñòðèëè èíîãäà îáùóþ ïàíîðàìó òàêèìè ñóáúåêòàìè, ÷òî ñòðàííî áûëî áû è óäèâëÿòüñÿ ïðè âñòðå÷å ñ èíîþ ôèãóðîé. Íî ñòîëüêî çëîáíîãî ïðåçðåíèÿ óæå íàêîïèëîñü â äóøå ìîëîäîãî ÷åëîâåêà, ÷òî, íåñìîòðÿ íà âñþ ñâîþ, èíîãäà î÷åíü ìîëîäóþ, ùåêîòëèâîñòü, îí ìåíåå âñåãî ñîâåñòèëñÿ ñâîèõ ëîõìîòüåâ íà óëèöå. Äðóãîå äåëî ïðè âñòðå÷å ñ èíûìè çíàêîìûìè èëè ñ ïðåæíèìè òîâàðèùàìè, ñ êîòîðûìè âîîáùå îí íå ëþáèë âñòðå÷àòüñÿ\85 À ìåæäó òåì, êîãäà îäèí ïüÿíûé, êîòîðîãî íåèçâåñòíî ïî÷åìó è êóäà ïðîâîçèëè â ýòî âðåìÿ ïî óëèöå â îãðîìíîé òåëåãå, çàïðÿæåííîé îãðîìíîþ ëîìîâîþ ëîøàäüþ, êðèêíóë åìó âäðóã, ïðîåçæàÿ: «Ýé òû, íåìåöêèé øëÿïíèê!» \97 è çàîðàë âî âñå ãîðëî, óêàçûâàÿ íà íåãî ðóêîé, \97 ìîëîäîé ÷åëîâåê âäðóã îñòàíîâèëñÿ è ñóäîðîæíî ñõâàòèëñÿ çà ñâîþ øëÿïó. Øëÿïà ýòà áûëà âûñîêàÿ, êðóãëàÿ, öèììåðìàíîâñêàÿ, íî âñÿ óæå èçíîøåííàÿ, ñîâñåì ðûæàÿ, âñÿ â äûðàõ è ïÿòíàõ, áåç ïîëåé è ñàìûì áåçîáðàçíåéøèì óãëîì çàëîìèâøàÿñÿ íà ñòîðîíó. Íî íå ñòûä, à ñîâñåì äðóãîå ÷óâñòâî, ïîõîæåå äàæå íà èñïóã, îõâàòèëî åãî.\r
+\97 ß òàê è çíàë! \97 áîðìîòàë îí â ñìóùåíèè, \97 ÿ òàê è äóìàë! Ýòî óæ âñåãî ñêâåðíåå! Âîò ýäàêàÿ êàêàÿ-íèáóäü ãëóïîñòü, êàêàÿ-íèáóäü ïîøëåéøàÿ ìåëî÷ü, âåñü çàìûñåë ìîæåò èñïîðòèòü! Äà, ñëèøêîì ïðèìåòíàÿ øëÿïà\85 Ñìåøíàÿ, ïîòîìó è ïðèìåòíàÿ\85 Ê ìîèì ëîõìîòüÿì íåïðåìåííî íóæíà ôóðàæêà, õîòÿ áû ñòàðûé áëèí êàêîé-íèáóäü, à íå ýòîò óðîä. Íèêòî òàêèõ íå íîñèò, çà âåðñòó çàìåòÿò, çàïîìíÿò\85 ãëàâíîå, ïîòîì çàïîìíÿò, àí è óëèêà. Òóò íóæíî áûòü êàê ìîæíî íåïðèìåòíåå\85 Ìåëî÷è, ìåëî÷è ãëàâíîå!.. Âîò ýòè-òî ìåëî÷è è ãóáÿò âñåãäà è âñå\85\r
+Èäòè åìó áûëî íåìíîãî; îí äàæå çíàë, ñêîëüêî øàãîâ îò âîðîò åãî äîìà: ðîâíî ñåìüñîò òðèäöàòü. Êàê-òî ðàç îí èõ ñîñ÷èòàë, êîãäà óæ î÷åíü ðàçìå÷òàëñÿ. Â òî âðåìÿ îí è ñàì åùå íå âåðèë ýòèì ìå÷òàì ñâîèì è òîëüêî ðàçäðàæàë ñåáÿ èõ áåçîáðàçíîþ, íî ñîáëàçíèòåëüíîþ äåðçîñòüþ. Òåïåðü æå, ìåñÿö ñïóñòÿ, îí óæå íà÷èíàë ñìîòðåòü èíà÷å è, íåñìîòðÿ íà âñå ïîääðàçíèâàþùèå ìîíîëîãè î ñîáñòâåííîì áåññèëèè è íåðåøèìîñòè, «áåçîáðàçíóþ» ìå÷òó êàê-òî äàæå ïîíåâîëå ïðèâûê ñ÷èòàòü óæå ïðåäïðèÿòèåì, õîòÿ âñå åùå ñàì ñåáå íå âåðèë. Îí äàæå øåë òåïåðü äåëàòü ïðîáó ñâîåìó ïðåäïðèÿòèþ, è ñ êàæäûì øàãîì âîëíåíèå åãî âîçðàñòàëî âñå ñèëüíåå è ñèëüíåå.\r
+Ñ çàìèðàíèåì ñåðäöà è íåðâíîþ äðîæüþ ïîäîøåë îí ê ïðåîãðîìíåéøåìó äîìó, âûõîäèâøåìó îäíîþ ñòåíîé íà êàíàâó, à äðóãîþ â -þ óëèöó. Ýòîò äîì ñòîÿë âåñü â ìåëêèõ êâàðòèðàõ è çàñåëåí áûë âñÿêèìè ïðîìûøëåííèêàìè \97 ïîðòíûìè, ñëåñàðÿìè, êóõàðêàìè, ðàçíûìè íåìöàìè, äåâèöàìè, æèâóùèìè îò ñåáÿ, ìåëêèì ÷èíîâíè÷åñòâîì è ïðî÷. Âõîäÿùèå è âûõîäÿùèå òàê è øìûãàëè ïîä îáîèìè âîðîòàìè è íà îáîèõ äâîðàõ äîìà. Òóò ñëóæèëè òðè èëè ÷åòûðå äâîðíèêà. Ìîëîäîé ÷åëîâåê áûë î÷åíü äîâîëåí, íå âñòðåòèâ íè êîòîðîãî èç íèõ, è íåïðèìåòíî ïðîñêîëüçíóë ñåé÷àñ æå èç âîðîò íàïðàâî íà ëåñòíèöó. Ëåñòíèöà áûëà òåìíàÿ è óçêàÿ, «÷åðíàÿ», íî îí âñå óæå ýòî çíàë è èçó÷èë, è åìó âñÿ ýòà îáñòàíîâêà íðàâèëàñü: â òàêîé òåìíîòå äàæå è ëþáîïûòíûé âçãëÿä áûë íåîïàñåí. «Åñëè î ñþ ïîðó ÿ òàê áîþñü, ÷òî æå áûëî áû, åñëè á è äåéñòâèòåëüíî êàê-íèáóäü ñëó÷èëîñü äî ñàìîãî äåëà äîéòè?..» \97 ïîäóìàë îí íåâîëüíî, ïðîõîäÿ â ÷åòâåðòûé ýòàæ. Çäåñü çàãîðîäèëè åìó äîðîãó îòñòàâíûå ñîëäàòû-íîñèëüùèêè, âûíîñèâøèå èç îäíîé êâàðòèðû ìåáåëü. Îí óæå ïðåæäå çíàë, ÷òî â ýòîé êâàðòèðå æèë îäèí ñåìåéíûé íåìåö, ÷èíîâíèê: «Ñòàëî áûòü, ýòîò íåìåö òåïåðü âûåçæàåò, è, ñòàëî áûòü, â ÷åòâåðòîì ýòàæå, ïî ýòîé ëåñòíèöå è íà ýòîé ïëîùàäêå, îñòàåòñÿ, íà íåêîòîðîå âðåìÿ, òîëüêî îäíà ñòàðóõèíà êâàðòèðà çàíÿòàÿ. Ýòî õîðîøî\85 íà âñÿêîé ñëó÷àé\85» \97 ïîäóìàë îí îïÿòü è ïîçâîíèë â ñòàðóõèíó êâàðòèðó. Çâîíîê áðÿêíóë ñëàáî, êàê áóäòî áûë ñäåëàí èç æåñòè, à íå èç ìåäè. Â ïîäîáíûõ ìåëêèõ êâàðòèðàõ òàêèõ äîìîâ ïî÷òè âñå òàêèå çâîíêè. Îí óæå çàáûë çâîí ýòîãî êîëîêîëü÷èêà, è òåïåðü ýòîò îñîáåííûé çâîí êàê áóäòî âäðóã åìó ÷òî-òî íàïîìíèë è ÿñíî ïðåäñòàâèë\85 Îí òàê è âçäðîãíóë, ñëèøêîì óæ îñëàáåëè íåðâû íà ýòîò ðàç. Íåìíîãî ñïóñòÿ äâåðü ïðèîòâîðèëàñü íà êðîøå÷íóþ ùåëî÷êó: æèëèöà îãëÿäûâàëà èç ùåëè ïðèøåäøåãî ñ âèäèìûì íåäîâåðèåì, è òîëüêî âèäíåëèñü åå ñâåðêàâøèå èç òåìíîòû ãëàçêè. Íî óâèäàâ íà ïëîùàäêå ìíîãî íàðîäó, îíà îáîäðèëàñü è îòâîðèëà ñîâñåì. Ìîëîäîé ÷åëîâåê ïåðåñòóïèë ÷åðåç ïîðîã â òåìíóþ ïðèõîæóþ, ðàçãîðîæåííóþ ïåðåãîðîäêîé, çà êîòîðîþ áûëà êðîøå÷íàÿ êóõíÿ. Ñòàðóõà ñòîÿëà ïåðåä íèì ìîë÷à è âîïðîñèòåëüíî íà íåãî ãëÿäåëà. Ýòî áûëà êðîøå÷íàÿ, ñóõàÿ ñòàðóøîíêà, ëåò øåñòèäåñÿòè, ñ âîñòðûìè è çëûìè ãëàçêàìè, ñ ìàëåíüêèì âîñòðûì íîñîì è ïðîñòîâîëîñàÿ. Áåëîáðûñûå, ìàëî ïîñåäåâøèå âîëîñû åå áûëè æèðíî ñìàçàíû ìàñëîì. Íà åå òîíêîé è äëèííîé øåå, ïîõîæåé íà êóðèíóþ íîãó, áûëî íàâåð÷åíî êàêîå-òî ôëàíåëåâîå òðÿïüå, à íà ïëå÷àõ, íåñìîòðÿ íà æàðó, áîëòàëàñü âñÿ èñòðåïàííàÿ è ïîæåëòåëàÿ ìåõîâàÿ êàöàâåéêà. Ñòàðóøîíêà ïîìèíóòíî êàøëÿëà è êðÿõòåëà. Äîëæíî áûòü, ìîëîäîé ÷åëîâåê âçãëÿíóë íà íåå êàêèì-íèáóäü îñîáåííûì âçãëÿäîì, ïîòîìó ÷òî è â åå ãëàçàõ ìåëüêíóëà âäðóã îïÿòü ïðåæíÿÿ íåäîâåð÷èâîñòü.\r
+\97 Ðàñêîëüíèêîâ, ñòóäåíò, áûë ó âàñ íàçàä òîìó ìåñÿö, \97 ïîñïåøèë ïðîáîðìîòàòü ìîëîäîé ÷åëîâåê ñ ïîëóïîêëîíîì, âñïîìíèâ, ÷òî íàäî áûòü ëþáåçíåå.\r
+\97 Ïîìíþ, áàòþøêà, î÷åíü õîðîøî ïîìíþ, ÷òî âû áûëè, \97 îò÷åòëèâî ïðîãîâîðèëà ñòàðóøêà, ïî-ïðåæíåìó íå îòâîäÿ ñâîèõ âîïðîøàþùèõ ãëàç îò åãî ëèöà.\r
+\97 Òàê âîò-ñ\85 è îïÿòü, ïî òàêîìó æå äåëüöó\85 \97 ïðîäîëæàë Ðàñêîëüíèêîâ, íåìíîãî ñìóòèâøèñü è óäèâëÿÿñü íåäîâåð÷èâîñòè ñòàðóõè.\r
+«Ìîæåò, âïðî÷åì, îíà è âñåãäà òàêàÿ, äà ÿ â òîò ðàç íå çàìåòèë», \97 ïîäóìàë îí ñ íåïðèÿòíûì ÷óâñòâîì.\r
+Ñòàðóõà ïîìîë÷àëà, êàê áû â ðàçäóìüå, ïîòîì îòñòóïèëà â ñòîðîíó è, óêàçûâàÿ íà äâåðü â êîìíàòó, ïðîèçíåñëà, ïðîïóñêàÿ ãîñòÿ âïåðåä: \97 Ïðîéäèòå, áàòþøêà.\r
+Íåáîëüøàÿ êîìíàòà, â êîòîðóþ ïðîøåë ìîëîäîé ÷åëîâåê, ñ æåëòûìè îáîÿìè, ãåðàíÿìè è êèñåéíûìè çàíàâåñêàìè íà îêíàõ, áûëà â ýòó ìèíóòó ÿðêî îñâåùåíà çàõîäÿùèì ñîëíöåì. «È òîãäà, ñòàëî áûòü, òàê æå áóäåò ñîëíöå ñâåòèòü!..» \97 êàê áû íåâçíà÷àé ìåëüêíóëî â óìå Ðàñêîëüíèêîâà, è áûñòðûì âçãëÿäîì îêèíóë îí âñå â êîìíàòå, ÷òîáû ïî âîçìîæíîñòè èçó÷èòü è çàïîìíèòü ðàñïîëîæåíèå. Íî â êîìíàòå íå áûëî íè÷åãî îñîáåííîãî. Ìåáåëü, âñÿ î÷åíü ñòàðàÿ è èç æåëòîãî äåðåâà, ñîñòîÿëà èç äèâàíà ñ îãðîìíîþ âûãíóòîþ äåðåâÿííîþ ñïèíêîé, êðóãëîãî ñòîëà îâàëüíîé ôîðìû ïåðåä äèâàíîì, òóàëåòà ñ çåðêàëüöåì â ïðîñòåíêå, ñòóëüåâ ïî ñòåíàì íà äâóõòðåõ ãðîøîâûõ êàðòèíîê â æåëòûõ ðàìêàõ, èçîáðàæàâøèõ íåìåöêèõ áàðûøåíü ñ ïòèöàìè â ðóêàõ, \97 âîò è âñÿ ìåáåëü. Â óãëó ïåðåä íåáîëüøèì îáðàçîì ãîðåëà ëàìïàäà. Âñå áûëî î÷åíü ÷èñòî: è ìåáåëü, è ïîëû áûëè îòòåðòû ïîä ëîñê; âñå áëåñòåëî. «Ëèçàâåòèíà ðàáîòà», \97 ïîäóìàë ìîëîäîé ÷åëîâåê. Íè ïûëèíêè íåëüçÿ áûëî íàéòè âî âñåé êâàðòèðå. «Ýòî ó çëûõ è ñòàðûõ âäîâèö áûâàåò òàêàÿ ÷èñòîòà», \97 ïðîäîëæàë ïðî ñåáÿ Ðàñêîëüíèêîâ è ñ ëþáîïûòñòâîì ïîêîñèëñÿ íà ñèòöåâóþ çàíàâåñêó ïåðåä äâåðüþ âî âòîðóþ, êðîøå÷íóþ êîìíàòêó, ãäå ñòîÿëè ñòàðóõèíû ïîñòåëü è êîìîä è êóäà îí åùå íè ðàçó íå çàãëÿäûâàë. Âñÿ êâàðòèðà ñîñòîÿëà èç ýòèõ äâóõ êîìíàò. \97 ×òî óãîäíî? \97 ñòðîãî ïðîèçíåñëà ñòàðóøîíêà, âõîäÿ â êîìíàòó è ïî-ïðåæíåìó ñòàíîâÿñü ïðÿìî ïåðåä íèì, ÷òîáû ãëÿäåòü åìó ïðÿìî â ëèöî. \97 Çàêëàä ïðèíåñ, âîò-ñ! \97 È îí âûíóë èç êàðìàíà ñòàðûå ïëîñêèå ñåðåáðÿíûå ÷àñû. Íà îáîðîòíîé äîùå÷êå èõ áûë èçîáðàæåí ãëîáóñ. Öåïî÷êà áûëà ñòàëüíàÿ. \97 Äà âåäü è ïðåæíåìó çàêëàäó ñðîê. Åùå òðåòüåãî äíÿ ìåñÿö êàê ìèíóë. \97 ß âàì ïðîöåíòû åùå çà ìåñÿö âíåñó; ïîòåðïèòå. \97 À â òîì ìîÿ äîáðàÿ âîëÿ, áàòþøêà, òåðïåòü èëè âåùü âàøó òåïåðü æå ïðîäàòü. \97 Ìíîãî ëü çà ÷àñû-òî, Àëåíà Èâàíîâíà? \97 À ñ ïóñòÿêàìè õîäèøü, áàòþøêà, íè÷åãî, ïî÷èòàé, íå ñòîèò. Çà êîëå÷êî âàì ïðîøëûé ðàç äâà áèëåòèêà âíåñëà, à îíî è êóïèòü-òî åãî íîâîå ó þâåëèðà çà ïîëòîðà ðóáëÿ ìîæíî. \97 Ðóáëÿ-òî ÷åòûðå äàéòå, ÿ âûêóïëþ, îòöîâñêèå. ß ñêîðî äåíüãè ïîëó÷ó. \97 Ïîëòîðà ðóáëÿ-ñ è ïðîöåíò âïåðåä, êîëè õîòèòå-ñ. \97 Ïîëòîðà ðóáëÿ! \97 âñêðèêíóë ìîëîäîé ÷åëîâåê. \97 Âàøà âîëÿ. \97 È ñòàðóõà ïðîòÿíóëà åìó îáðàòíî ÷àñû. Ìîëîäîé ÷åëîâåê âçÿë èõ è äî òîãî ðàññåðäèëñÿ, ÷òî õîòåë áûëî óæå óéòè; íî òîò÷àñ îäóìàëñÿ, âñïîìíèâ, ÷òî èäòè áîëüøå íåêóäà è ÷òî îí åùå è çà äðóãèì ïðèøåë. \97 Äàâàéòå! \97 ñêàçàë îí ãðóáî.\r
+Ñòàðóõà ïîëåçëà â êàðìàí çà êëþ÷àìè è ïîøëà â äðóãóþ êîìíàòó çà çàíàâåñêè. Ìîëîäîé ÷åëîâåê, îñòàâøèñü îäèí ñðåäè êîìíàòû, ëþáîïûòíî ïðèñëóøèâàëñÿ è ñîîáðàæàë. Ñëûøíî áûëî, êàê îíà îòïåðëà êîìîä. «Äîëæíî áûòü, âåðõíèé ÿùèê, \97 ñîîáðàæàë îí. \97 Êëþ÷è îíà, ñòàëî áûòü, â ïðàâîì êàðìàíå íîñèò\85 Âñå íà îäíîé ñâÿçêå, â ñòàëüíîì êîëüöå\85 È òàì îäèí êëþ÷ åñòü âñåõ áîëüøå, âòðîå, ñ çóá÷àòîþ áîðîäêîé, êîíå÷íî, íå îò êîìîäà\85 Ñòàëî áûòü, åñòü åùå êàêàÿ-íèáóäü øêàòóëêà, àëè óêëàäêà\85 Âîò ýòî ëþáîïûòíî. Ó óêëàäîê âñå òàêèå êëþ÷è\85 À âïðî÷åì, êàê ýòî ïîäëî âñå\85» Ñòàðóõà âîðîòèëàñü. \97 Âîò-ñ, áàòþøêà: êîëè ïî ãðèâíå â ìåñÿö ñ ðóáëÿ, òàê çà ïîëòîðà ðóáëÿ ïðè÷òåòñÿ ñ âàñ ïÿòíàäöàòü êîïååê, çà ìåñÿö âïåðåä-ñ. Äà çà äâà ïðåæíèõ ðóáëÿ ñ âàñ åùå ïðè÷èòàåòñÿ ïî ñåìó æå ñ÷åòó âïåðåä äâàäöàòü êîïååê. À âñåãî, ñòàëî áûòü òðèäöàòü ïÿòü. Ïðèõîäèòñÿ æå âàì òåïåðü âñåãî ïîëó÷èòü çà ÷àñû âàøè ðóáëü ïÿòíàäöàòü êîïååê. Âîò ïîëó÷èòå-ñ. \97 Êàê! òàê óæ òåïåðü ðóáëü ïÿòíàäöàòü êîïååê! \97 Òî÷íî òàê-ñ. Ìîëîäîé ÷åëîâåê ñïîðèòü íå ñòàë è âçÿë äåíüãè. Îí ñìîòðåë íà ñòàðóõó è íå ñïåøèë óõîäèòü, òî÷íî åìó åùå õîòåëîñü ÷òî-òî ñêàçàòü èëè ñäåëàòü, íî êàê áóäòî îí è ñàì íå çíàë, ÷òî èìåííî\85 \97 ß âàì, Àëåíà Èâàíîâíà, ìîæåò áûòü, íà äíÿõ, åùå îäíó âåùü ïðèíåñó\85 ñåðåáðÿíóþ\85 õîðîøóþ\85 ïàïèðîñî÷íèöó îäíó\85 âîò êàê îò ïðèÿòåëÿ âîðî÷ó\85 \97 Îí ñìóòèëñÿ è çàìîë÷àë. \97 Íó òîãäà è áóäåì ãîâîðèòü, áàòþøêà. \97 Ïðîùàéòå-ñ\85 À âû âñå äîìà îäíè ñèäèòå, ñåñòðèöû-òî íåò? \97 ñïðîñèë îí êàê ìîæíî ðàçâÿçíåå, âûõîäÿ â ïåðåäíþþ. \97 À âàì êàêîå äî íåå, áàòþøêà, äåëî? \97 Äà íè÷åãî îñîáåííîãî. ß òàê ñïðîñèë. Óæ âû ñåé÷àñ\85 Ïðîùàéòå, Àëåíà Èâàíîâíà!\r
+Ðàñêîëüíèêîâ âûøåë â ðåøèòåëüíîì ñìóùåíèè. Ñìóùåíèå ýòî âñå áîëåå óâåëè÷èâàëîñü. Ñõîäÿ ïî ëåñòíèöå, îí íåñêîëüêî ðàç äàæå îñòàíàâëèâàëñÿ, êàê áóäòî ÷åì-òî âíåçàïíî ïîðàæåííûé. È íàêîíåö, óæå íà óëèöå, îí âîñêëèêíóë:\r
+«Î áîæå! êàê ýòî âñå îòâðàòèòåëüíî! È íåóæåëè, íåóæåëè ÿ\85 íåò, ýòî âçäîð, ýòî íåëåïîñòü! \97 ïðèáàâèë îí ðåøèòåëüíî. \97 È íåóæåëè òàêîé óæàñ ìîã ïðèéòè ìíå â ãîëîâó? Íà êàêóþ ãðÿçü ñïîñîáíî, îäíàêî, ìîå ñåðäöå! Ãëàâíîå: ãðÿçíî, ïàêîñòíî, ãàäêî, ãàäêî!.. È ÿ, öåëûé ìåñÿö\85»\r
+Íî îí íå ìîã âûðàçèòü íè ñëîâàìè, íè âîñêëèöàíèÿìè ñâîåãî âîëíåíèÿ. ×óâñòâî áåñêîíå÷íîãî îòâðàùåíèÿ, íà÷èíàâøåå äàâèòü è ìóòèòü åãî ñåðäöå åùå â òî âðåìÿ, êàê îí òîëüêî øåë ê ñòàðóõå, äîñòèãëî òåïåðü òàêîãî ðàçìåðà è òàê ÿðêî âûÿñíèëîñü, ÷òî îí íå çíàë, êóäà äåòüñÿ îò òîñêè ñâîåé. Îí øåë ïî òðîòóàðó êàê ïüÿíûé, íå çàìå÷àÿ ïðîõîæèõ è ñòàëêèâàÿñü ñ íèìè, è îïîìíèëñÿ óæå â ñëåäóþùåé óëèöå. Îãëÿäåâøèñü, îí çàìåòèë, ÷òî ñòîèò ïîäëå ðàñïèâî÷íîé, â êîòîðóþ âõîä áûë ñ òðîòóàðà ïî ëåñòíèöå âíèç, â ïîäâàëüíûé ýòàæ. Èç äâåðåé, êàê ðàç â ýòó ìèíóòó, âûõîäèëè äâîå ïüÿíûõ è, äðóã äðóãà ïîääåðæèâàÿ è ðóãàÿ, âçáèðàëèñü íà óëèöó. Äîëãî íå äóìàÿ, Ðàñêîëüíèêîâ òîò÷àñ æå ñïóñòèëñÿ âíèç. Íèêîãäà äî ñèõ ïîð íå âõîäèë îí â ðàñïèâî÷íûå, íî òåïåðü ãîëîâà åãî êðóæèëàñü, è ê òîìó æå ïàëÿùàÿ æàæäà òîìèëà åãî. Åìó çàõîòåëîñü âûïèòü õîëîäíîãî ïèâà, òåì áîëåå ÷òî âíåçàïíóþ ñëàáîñòü ñâîþ îí îòíîñèë è ê òîìó, ÷òî áûë ãîëîäåí. Îí óñåëñÿ â òåìíîì è ãðÿçíîì óãëó, çà ëèïêèì ñòîëèêîì, ñïðîñèë ïèâà è ñ æàäíîñòèþ âûïèë ïåðâûé ñòàêàí. Òîò÷àñ æå âñå îòëåãëî, è ìûñëè åãî ïðîÿñíåëè. «Âñå ýòî âçäîð, \97 ñêàçàë îí ñ íàäåæäîé, \97 è íå÷åì òóò áûëî ñìóùàòüñÿ! Ïðîñòî ôèçè÷åñêîå ðàññòðîéñòâî! Îäèí êàêîé-íèáóäü ñòàêàí ïèâà, êóñîê ñóõàðÿ, \97 è âîò, â îäèí ìèã, êðåïíåò óì, ÿñíååò ìûñëü, òâåðäåþò íàìåðåíèÿ! Òüôó, êàêîå âñå ýòî íè÷òîæåñòâî!..» Íî, íåñìîòðÿ íà ýòîò ïðåçðèòåëüíûé ïëåâîê, îí ãëÿäåë óæå âåñåëî, êàê áóäòî âíåçàïíî îñâîáîäÿñü îò êàêîãî-òî óæàñíîãî áðåìåíè, è äðóæåëþáíî îêèíóë ãëàçàìè ïðèñóòñòâóþùèõ. Íî äàæå è â ýòó ìèíóòó îí îòäàëåííî ïðåä÷óâñòâîâàë, ÷òî âñÿ ýòà âîñïðèèì÷èâîñòü ê ëó÷øåìó áûëà òîæå áîëåçíåííàÿ.\r
+ ðàñïèâî÷íîé íà òó ïîðó îñòàâàëîñü ìàëî íàðîäó. Êðîìå òåõ äâóõ ïüÿíûõ, ÷òî ïîïàëèñü íà ëåñòíèöå, âñëåä çà íèìè æå âûøëà åùå ðàçîì öåëàÿ âàòàãà, ÷åëîâåê â ïÿòü, ñ îäíîþ äåâêîé è ñ ãàðìîíèåé. Ïîñëå íèõ ñòàëî òèõî è ïðîñòîðíî. Îñòàëèñü: îäèí õìåëüíîé, íî íåìíîãî, ñèäåâøèé çà ïèâîì, ñ âèäó ìåùàíèí; òîâàðèù åãî, òîëñòûé, îãðîìíûé, â ñèáèðêå è ñ ñåäîþ áîðîäîé, î÷åíü çàõìåëåâøèé, çàäðåìàâøèé íà ëàâêå è èçðåäêà, âäðóã, êàê áû ñïðîñîíüÿ, íà÷èíàâøèé ïðèùåëêèâàòü ïàëüöàìè, ðàññòàâèâ ðóêè âðîçü, è ïîäïðûãèâàòü âåðõíåþ ÷àñòèþ êîðïóñà, íå âñòàâàÿ ñ ëàâêè, ïðè÷åì ïîäïåâàë êàêóþ-òî åðóíäó, ñèëÿñü ïðèïîìíèòü ñòèõè, âðîäå:\r
+Öåëûé ãîä æåíó ëàñêàë,\r
+Öåë-ëûé ãîä æå-íó ëàñ-êàë\85\r
+Èëè âäðóã, ïðîñíóâøèñü, îïÿòü:\r
+Ïî Ïîäüÿ÷åñêîé ïîøåë,\r
+Ñâîþ ïðåæíþþ íàøåë\85\r
+Íî íèêòî íå ðàçäåëÿë åãî ñ÷àñòèÿ; ìîë÷àëèâûé òîâàðèù åãî ñìîòðåë íà âñå ýòè âçðûâû äàæå âðàæäåáíî è ñ íåäîâåð÷èâîñòüþ. Áûë òóò è åùå îäèí ÷åëîâåê, ñ âèäó ïîõîæèé êàê áû íà îòñòàâíîãî ÷èíîâíèêà. Îí ñèäåë îñîáî, ïåðåä ñâîåþ ïîñóäèíêîé, èçðåäêà îòïèâàÿ è ïîñìàòðèâàÿ êðóãîì. Îí áûë òîæå êàê áóäòî â íåêîòîðîì âîëíåíèè.\r
+\r
+Ðàñêîëüíèêîâ íå ïðèâûê ê òîëïå è, êàê óæå ñêàçàíî, áåæàë âñÿêîãî îáùåñòâà, îñîáåííî â ïîñëåäíåå âðåìÿ. Íî òåïåðü åãî âäðóã ÷òî-òî ïîòÿíóëî ê ëþäÿì. ×òî-òî ñîâåðøàëîñü â íåì êàê áû íîâîå, è âìåñòå ñ òåì îùóòèëàñü êàêàÿ-òî æàæäà ëþäåé. Îí òàê óñòàë îò öåëîãî ìåñÿöà ýòîé ñîñðåäîòî÷åííîé òîñêè ñâîåé è ìðà÷íîãî âîçáóæäåíèÿ, ÷òî õîòÿ îäíó ìèíóòó õîòåëîñü åìó âçäîõíóòü â äðóãîì ìèðå, õîòü áû â êàêîì áû òî íè áûëî, è, íåñìîòðÿ íà âñþ ãðÿçü îáñòàíîâêè, îí ñ óäîâîëüñòâèåì îñòàâàëñÿ òåïåðü â ðàñïèâî÷íîé.\r
+Õîçÿèí çàâåäåíèÿ áûë â äðóãîé êîìíàòå, íî ÷àñòî âõîäèë â ãëàâíóþ, ñïóñêàÿñü â íåå îòêóäà-òî ïî ñòóïåíüêàì, ïðè÷åì ïðåæäå âñåãî âûêàçûâàëèñü åãî ùåãîëüñêèå ñìàçíûå ñàïîãè ñ áîëüøèìè êðàñíûìè îòâîðîòàìè. Îí áûë â ïîääåâêå è â ñòðàøíî çàñàëåííîì ÷åðíîì àòëàñíîì æèëåòå, áåç ãàëñòóêà, à âñå ëèöî åãî áûëî êàê áóäòî ñìàçàíî ìàñëîì, òî÷íî æåëåçíûé çàìîê. Çà çàñòîéêîé íàõîäèëñÿ ìàëü÷èøêà ëåò ÷åòûðíàäöàòè, è áûë äðóãîé ìàëü÷èøêà ìîëîæå, êîòîðûé ïîäàâàë, åñëè ÷òî ñïðàøèâàëè. Ñòîÿëè êðîøåíûå îãóðöû, ÷åðíûå ñóõàðè è ðåçàííàÿ êóñî÷êàìè ðûáà; âñå ýòî î÷åíü äóðíî ïàõëî. Áûëî äóøíî, òàê ÷òî áûëî äàæå íåñòåðïèìî ñèäåòü, è âñå äî òîãî áûëî ïðîïèòàíî âèííûì çàïàõîì, ÷òî, êàæåòñÿ, îò îäíîãî ýòîãî âîçäóõà ìîæíî áûëî â ïÿòü ìèíóò ñäåëàòüñÿ ïüÿíûì.\r
+Áûâàþò èíûå âñòðå÷è, ñîâåðøåííî äàæå ñ íåçíàêîìûìè íàì ëþäüìè, êîòîðûìè ìû íà÷èíàåì èíòåðåñîâàòüñÿ ñ ïåðâîãî âçãëÿäà, êàê-òî âäðóã, âíåçàïíî, ïðåæäå ÷åì ñêàæåì ñëîâî. Òàêîå òî÷íî âïå÷àòëåíèå ïðîèçâåë íà Ðàñêîëüíèêîâà òîò ãîñòü, êîòîðûé ñèäåë ïîîäàëü è ïîõîäèë íà îòñòàâíîãî ÷èíîâíèêà. Ìîëîäîé ÷åëîâåê íåñêîëüêî ðàç ïðèïîìèíàë ïîòîì ýòî ïåðâîå âïå÷àòëåíèå è äàæå ïðèïèñûâàë åãî ïðåä÷óâñòâèþ. Îí áåñïðåðûâíî âçãëÿäûâàë íà ÷èíîâíèêà, êîíå÷íî, è ïîòîìó åùå, ÷òî è ñàì òîò óïîðíî ñìîòðåë íà íåãî, è âèäíî áûëî, ÷òî òîìó î÷åíü õîòåëîñü íà÷àòü ðàçãîâîð. Íà îñòàëüíûõ æå, áûâøèõ â ðàñïèâî÷íîé, íå èñêëþ÷àÿ è õîçÿèíà, ÷èíîâíèê ñìîòðåë êàê-òî ïðèâû÷íî è äàæå ñî ñêóêîé, à âìåñòå ñ òåì è ñ îòòåíêîì íåêîòîðîãî âûñîêîìåðíîãî ïðåíåáðåæåíèÿ, êàê áû íà ëþäåé íèçøåãî ïîëîæåíèÿ è ðàçâèòèÿ, ñ êîòîðûìè íå÷åãî åìó ãîâîðèòü. Ýòî áûë ÷åëîâåê ëåò óæå çà ïÿòüäåñÿò, ñðåäíåãî ðîñòà è ïëîòíîãî ñëîæåíèÿ, ñ ïðîñåäüþ è ñ áîëüøîþ ëûñèíîé, ñ îòåêøèì îò ïîñòîÿííîãî ïüÿíñòâà æåëòûì, äàæå çåëåíîâàòûì ëèöîì è ñ ïðèïóõøèìè âåêàìè, èç-çà êîòîðûõ ñèÿëè êðîøå÷íûå, êàê ùåëî÷êè, íî îäóøåâëåííûå êðàñíîâàòûå ãëàçêè. Íî ÷òî-òî áûëî â íåì î÷åíü ñòðàííîå; âî âçãëÿäå åãî ñâåòèëàñü êàê áóäòî äàæå âîñòîðæåííîñòü, \97 ïîæàëóé, áûë è ñìûñë è óì, \97 íî â òî æå âðåìÿ ìåëüêàëî êàê áóäòî è áåçóìèå. Îäåò îí áûë â ñòàðûé, ñîâåðøåííî îáîðâàííûé ÷åðíûé ôðàê, ñ îñûïàâøèìèñÿ ïóãîâèöàìè. Îäíà òîëüêî åùå äåðæàëàñü êîå-êàê, è íà íåå-òî îí è çàñòåãèâàëñÿ, âèäèìî æåëàÿ íå óäàëÿòüñÿ ïðèëè÷èé. Èç-ïîä íàíêîâîãî æèëåòà òîð÷àëà ìàíèøêà, âñÿ ñêîìêàííàÿ, çàïà÷êàííàÿ è çàëèòàÿ. Ëèöî áûëî âûáðèòî, ïî-÷èíîâíè÷üè, íî äàâíî óæå, òàê ÷òî óæå ãóñòî íà÷àëà âûñòóïàòü ñèçàÿ ùåòèíà. Äà è â óõâàòêàõ åãî äåéñòâèòåëüíî áûëî ÷òî-òî ñîëèäíî-÷èíîâíè÷üå. Íî îí áûë â áåñïîêîéñòâå, åðîøèë âîëîñû è ïîäïèðàë èíîãäà, â òîñêå, îáåèìè ðóêàìè ãîëîâó, ïîëîæà ïðîäðàííûå ëîêòè íà çàëèòûé è ëèïêèé ñòîë. Íàêîíåö îí ïðÿìî ïîñìîòðåë íà Ðàñêîëüíèêîâà è ãðîìêî è òâåðäî ïðîãîâîðèë: \97 À îñìåëþñü ëè, ìèëîñòèâûé ãîñóäàðü ìîé, îáðàòèòüñÿ ê âàì ñ ðàçãîâîðîì ïðèëè÷íûì? Èáî õîòÿ âû è íå â çíà÷èòåëüíîì âèäå, íî îïûòíîñòü ìîÿ îòëè÷àåò â âàñ ÷åëîâåêà îáðàçîâàííîãî è ê íàïèòêó íåïðèâû÷íîãî. Ñàì âñåãäà óâàæàë îáðàçîâàííîñòü, ñîåäèíåííóþ ñ ñåðäå÷íûìè ÷óâñòâàìè, è, êðîìå òîãî, ñîñòîþ òèòóëÿðíûì ñîâåòíèêîì. Ìàðìåëàäîâ \97 òàêàÿ ôàìèëèÿ; òèòóëÿðíûé ñîâåòíèê. Îñìåëþñü óçíàòü, ñëóæèòü èçâîëèëè? \97 Íåò, ó÷óñü\85 \97 îòâå÷àë ìîëîäîé ÷åëîâåê, îò÷àñòè óäèâëåííûé è îñîáåííûì âèòèåâàòûì òîíîì ðå÷è, è òåì, ÷òî òàê ïðÿìî, â óïîð, îáðàòèëèñü ê íåìó. Íåñìîòðÿ íà íåäàâíåå ìãíîâåííîå æåëàíèå õîòÿ êàêîãî áû íè áûëî ñîîáùåñòâà ñ ëþäüìè, îí ïðè ïåðâîì, äåéñòâèòåëüíî îáðàùåííîì ê íåìó ñëîâå âäðóã îùóòèë ñâîå îáû÷íîå íåïðèÿòíîå è ðàçäðàæèòåëüíîå ÷óâñòâî îòâðàùåíèÿ êî âñÿêîìó ÷óæîìó ëèöó, êàñàâøåìóñÿ èëè õîòåâøåìó òîëüêî ïðèêîñíóòüñÿ ê åãî ëè÷íîñòè. \97 Ñòóäåíò, ñòàëî áûòü, èëè áûâøèé ñòóäåíò! \97 âñêðè÷àë ÷èíîâíèê, \97 òàê ÿ è äóìàë! Îïûò, ìèëîñòèâûé ãîñóäàðü, íåîäíîêðàòíûé îïûò! \97 è â çíàê ïîõâàëüáû îí ïðèëîæèë ïàëåö êî ëáó. \97 Áûëè ñòóäåíòîì èëè ïðîèñõîäèëè ó÷åíóþ ÷àñòü! À ïîçâîëüòå\85 \97 Îí ïðèâñòàë, ïîêà÷íóëñÿ, çàõâàòèë ñâîþ ïîñóäèíêó, ñòàêàí÷èê, è ïîäñåë ê ìîëîäîìó ÷åëîâåêó, íåñêîëüêî îò íåãî íàèñêîñü. Îí áûë õìåëåí, íî ãîâîðèë ðå÷èñòî è áîéêî, èçðåäêà òîëüêî ìåñòàìè ñáèâàÿñü íåìíîãî è çàòÿãèâàÿ ðå÷ü. Ñ êàêîþ-òî äàæå æàäíîñòèþ íàêèíóëñÿ îí íà Ðàñêîëüíèêîâà, òî÷íî öåëûé ìåñÿö òîæå íè ñ êåì íå ãîâîðèë. \97 Ìèëîñòèâûé ãîñóäàðü, \97 íà÷àë îí ïî÷òè ñ òîðæåñòâåííîñòèþ, \97 áåäíîñòü íå ïîðîê, ýòî èñòèíà. Çíàþ ÿ, ÷òî è ïüÿíñòâî íå äîáðîäåòåëü, è ýòî òåì ïà÷å. Íî íèùåòà, ìèëîñòèâûé ãîñóäàðü, íèùåòà \97 ïîðîê-ñ. Â áåäíîñòè âû åùå ñîõðàíÿåòå ñâîå áëàãîðîäñòâî âðîæäåííûõ ÷óâñòâ, â íèùåòå æå íèêîãäà è íèêòî. Çà íèùåòó äàæå è íå ïàëêîé âûãîíÿþò, à ìåòëîé âûìåòàþò èç êîìïàíèè ÷åëîâå÷åñêîé, ÷òîáû òåì îñêîðáèòåëüíåå áûëî; è ñïðàâåäëèâî, èáî â íèùåòå ÿ ïåðâûé ñàì ãîòîâ îñêîðáëÿòü ñåáÿ. È îòñþäà ïèòåéíîå! Ìèëîñòèâûé ãîñóäàðü, ìåñÿö íàçàä òîìó ñóïðóãó ìîþ èçáèë ãîñïîäèí Ëåáåçÿòíèêîâ, à ñóïðóãà ìîÿ íå òî ÷òî ÿ! Ïîíèìàåòå-ñ? Ïîçâîëüòå åùå âàñ ñïðîñèòü, òàê, õîòÿ áû â âèäå ïðîñòîãî ëþáîïûòñòâà: èçâîëèëè âû íî÷åâàòü íà Íåâå, íà ñåííûõ áàðêàõ? \97 Íåò, íå ñëó÷àëîñü, \97 îòâå÷àë Ðàñêîëüíèêîâ. \97 Ýòî ÷òî òàêîå? \97 Íó-ñ, à ÿ îòòóäà, è óæå ïÿòóþ íî÷ü-ñ\85\r
+Îí íàëèë ñòàêàí÷èê, âûïèë è çàäóìàëñÿ. Äåéñòâèòåëüíî, íà åãî ïëàòüå è äàæå â âîëîñàõ êîå-ãäå âèäíåëèñü ïðèëèïøèå áûëèíêè ñåíà. Î÷åíü âåðîÿòíî áûëî, ÷òî îí ïÿòü äíåé íå ðàçäåâàëñÿ è íå óìûâàëñÿ. Îñîáåííî ðóêè áûëè ãðÿçíû, æèðíûå, êðàñíûå, ñ ÷åðíûìè íîãòÿìè.\r
+Åãî ðàçãîâîð, êàçàëîñü, âîçáóäèë îáùåå, õîòÿ è ëåíèâîå âíèìàíèå. Ìàëü÷èøêè çà ñòîéêîé ñòàëè õèõèêàòü. Õîçÿèí, êàæåòñÿ, íàðî÷íî ñîøåë èç âåðõíåé êîìíàòû, ÷òîáû ïîñëóøàòü «çàáàâíèêà», è ñåë ïîîäàëü, ëåíèâî, íî âàæíî ïîçåâûâàÿ. Î÷åâèäíî, Ìàðìåëàäîâ áûë çäåñü äàâíî èçâåñòåí. Äà è íàêëîííîñòü ê âèòèåâàòîé ðå÷è ïðèîáðåë, âåðîÿòíî, âñëåäñòâèå ïðèâû÷êè ê ÷àñòûì êàáà÷íûì ðàçãîâîðàì ñ ðàçëè÷íûìè íåçíàêîìöàìè. Ýòà ïðèâû÷êà îáðàùàåòñÿ ó èíûõ ïüþùèõ â ïîòðåáíîñòü, è ïðåèìóùåñòâåííî ó òåõ èç íèõ, ñ êîòîðûìè äîìà îáõîäÿòñÿ ñòðîãî è êîòîðûìè ïîìûêàþò. Îòòîãî-òî â ïüþùåé êîìïàíèè îíè è ñòàðàþòñÿ âñåãäà êàê áóäòî âûõëîïîòàòü ñåáå îïðàâäàíèå, à åñëè ìîæíî, òî äàæå è óâàæåíèå. \97 Çàáàâíèê! \97 ãðîìêî ïðîãîâîðèë õîçÿèí. \97 À äëÿ ÷à íå ðàáîòàåøü, äëÿ ÷à íå ñëóæèòå, êîëè ÷èíîâíèê? \97 Äëÿ ÷åãî ÿ íå ñëóæó, ìèëîñòèâûé ãîñóäàðü, \97 ïîäõâàòèë Ìàðìåëàäîâ, èñêëþ÷èòåëüíî îáðàùàÿñü ê Ðàñêîëüíèêîâó, êàê áóäòî ýòî îí åìó çàäàë âîïðîñ, \97 äëÿ ÷åãî íå ñëóæó? À ðàçâå ñåðäöå ó ìåíÿ íå áîëèò î òîì, ÷òî ÿ ïðåñìûêàþñü âòóíå? Êîãäà ãîñïîäèí Ëåáåçÿòíèêîâ, òîìó ìåñÿö íàçàä, ñóïðóãó ìîþ ñîáñòâåííîðó÷íî èçáèë, à ÿ ëåæàë ïüÿíåíüêîé, ðàçâå ÿ íå ñòðàäàë? Ïîçâîëüòå, ìîëîäîé ÷åëîâåê, ñëó÷àëîñü âàì\85 ãì\85 íó õîòü èñïðàøèâàòü äåíåã âçàéìû áåçíàäåæíî? \97 Ñëó÷àëîñü\85 òî åñòü êàê áåçíàäåæíî? \97 Òî åñòü áåçíàäåæíî âïîëíå-ñ, çàðàíåå çíàÿ, ÷òî èç ñåãî íè÷åãî íå âûéäåò. Âîò âû çíàåòå, íàïðèìåð, çàðàíåå è äîñêîíàëüíî, ÷òî ñåé ÷åëîâåê, ñåé áëàãîíàìåðåííåéøèé è íàèïîëåçíåéøèé ãðàæäàíèí, íè çà ÷òî âàì äåíåã íå äàñò, èáî çà÷åì, ñïðîøó ÿ, îí äàñò? Âåäü îí çíàåò æå, ÷òî ÿ íå îòäàì. Èç ñîñòðàäàíèÿ? Íî ãîñïîäèí Ëåáåçÿòíèêîâ, ñëåäÿùèé çà íîâûìè ìûñëÿìè, îáúÿñíÿë íàìåäíè, ÷òî ñîñòðàäàíèå â íàøå âðåìÿ äàæå íàóêîé âîñïðåùåíî è ÷òî òàê óæå äåëàåòñÿ â Àíãëèè, ãäå ïîëèòè÷åñêàÿ ýêîíîìèÿ. Çà÷åì æå, ñïðîøó ÿ, îí äàñò? È âîò, çíàÿ âïåðåä, ÷òî íå äàñò, âû âñå-òàêè îòïðàâëÿåòåñü â ïóòü è\85 \97 Äëÿ ÷åãî æå õîäèòü? \97 ïðèáàâèë Ðàñêîëüíèêîâ. \97 À êîëè íå ê êîìó, êîëè èäòè áîëüøå íåêóäà! Âåäü íàäîáíî æå, ÷òîáû âñÿêîìó ÷åëîâåêó õîòü êóäà-íèáóäü ìîæíî áûëî ïîéòè. Èáî áûâàåò òàêîå âðåìÿ, êîãäà íåïðåìåííî íàäî õîòü êóäà-íèáóäü äà ïîéòè! Êîãäà åäèíîðîäíà äî÷ü ìîÿ â ïåðâûé ðàç ïî æåëòîìó áèëåòó ïîøëà, è ÿ òîæå òîãäà ïîøåë\85 (èáî äî÷ü ìîÿ ïî æåëòîìó áèëåòó æèâåò-ñ\85\97 ïðèáàâèë îí â ñêîáêàõ, ñ íåêîòîðûì áåñïîêîéñòâîì ñìîòðÿ íà ìîëîäîãî ÷åëîâåêà. \97 Íè÷åãî, ìèëîñòèâûé ãîñóäàðü, íè÷åãî! \97 ïîñïåøèë îí òîò÷àñ æå, è ïî-âèäèìîìó ñïîêîéíî, çàÿâèòü, êîãäà ôûðêíóëè îáà ìàëü÷èøêè çà ñòîéêîé è óëûáíóëñÿ ñàì õîçÿèí. \97 Íè÷åãî-ñ! Ñèì ïîêèâàíèåì ãëàâ íå ñìóùàþñü, èáî óæå âñåì âñå èçâåñòíî è âñå òàéíîå ñòàíîâèòüñÿ ÿâíûì; è íå ñ ïðåçðåíèåì, à ñî ñìèðåíèåì ê ñåìó îòíîøóñü. Ïóñòü! ïóñòü! «Ñå ÷åëîâåê!» Ïîçâîëüòå, ìîëîäîé ÷åëîâåê: ìîæåòå ëè âû\85 Íî íåò, èçúÿñíèòü ñèëüíåå è èçîáðàçèòåëüíåå: íå ìîæåòå ëè âû, à îñìåëèòåñü ëè âû, âçèðàÿ â ñåé ÷àñ íà ìåíÿ, ñêàçàòü óòâåðäèòåëüíî, ÷òî ÿ íå ñâèíüÿ? Ìîëîäîé ÷åëîâåê íå îòâå÷àë íè ñëîâà.\r
+\97 Íó-ñ, \97 ïðîäîëæàë îðàòîð, ñîëèäíî è äàæå ñ óñèëåííûì íà ýòîò ðàç äîñòîèíñòâîì ïåðåæäàâ îïÿòü ïîñëåäîâàâøåå â êîìíàòå õèõèêàíèå. \97 Íó-ñ, ÿ ïóñòü ñâèíüÿ, à îíà äàìà! ß çâåðèíûé îáðàç èìåþ, à Êàòåðèíà Èâàíîâíà, ñóïðóãà ìîÿ, \97 îñîáà îáðàçîâàííàÿ è óðîæäåííàÿ øòàá-îôèöåðñêàÿ äî÷ü. Ïóñòü, ïóñòü ÿ ïîäëåö, îíà æå è ñåðäöà âûñîêîãî, è ÷óâñòâ, îáëàãîðîæåííûõ âîñïèòàíèåì, èñïîëíåíà. À ìåæäó òåì\85 î, åñëè á îíà ïîæàëåëà ìåíÿ! Ìèëîñòèâûé ãîñóäàðü, ìèëîñòèâûé ãîñóäàðü, âåäü íàäîáíî æå, ÷òîá ó âñÿêîãî ÷åëîâåêà áûëî õîòü îäíî òàêîå ìåñòî, ãäå áû è åãî ïîæàëåëè! À Êàòåðèíà Èâàíîâíà äàìà õîòÿ è âåëèêîäóøíàÿ, íî íåñïðàâåäëèâàÿ\85 È õîòÿ ÿ è ñàì ïîíèìàþ, ÷òî êîãäà îíà è âèõðû ìîè äåðåò, òî äåðåò èõ íå èíà÷å êàê îò æàëîñòè ñåðäöà (èáî, ïîâòîðÿþ áåç ñìóùåíèÿ, îíà äåðåò ìíå âèõðû, ìîëîäîé ÷åëîâåê, \97 ïîäòâåðäèë îí ñ ñóãóáûì äîñòîèíñòâîì, óñëûøàâ îïÿòü õèõèêàíüå), íî, áîæå, ÷òî åñëè á îíà õîòÿ îäèí ðàç\85 Íî íåò! íåò! âñå ñèå âòóíå, è íå÷åãî ãîâîðèòü! íå÷åãî ãîâîðèòü!.. èáî è íå îäèí ðàç óæå áûâàëî æåëàåìîå, è íå îäèí óæå ðàç æàëåëè ìåíÿ, íî\85 òàêîâà óæå ÷åðòà ìîÿ, à ÿ ïðèðîæäåííûé ñêîò! \97 Åùå áû! \97 çàìåòèë, çåâàÿ, õîçÿèí. Ìàðìåëàäîâ ðåøèòåëüíî ñòóêíóë êóëàêîì ïî ñòîëó. \97 Òàêîâà óæ ÷åðòà ìîÿ! Çíàåòå ëè, çíàåòå ëè âû, ãîñóäàðü ìîé, ÷òî ÿ äàæå ÷óëêè åå ïðîïèë? Íå áàøìàêè-ñ, èáî ýòî õîòÿ ñêîëüêî-íèáóäü ïîõîäèëî áû íà ïîðÿäîê âåùåé, à ÷óëêè, ÷óëêè åå ïðîïèë-ñ! Êîñûíî÷êó åå èç êîçüåãî ïóõà òîæå ïðîïèë, äàðåíóþ, ïðåæíþþ, åå ñîáñòâåííóþ, íå ìîþ; à æèâåì ìû â õîëîäíîì óãëå, è îíà â ýòó çèìó ïðîñòóäèëàñü è êàøëÿòü ïîøëà, óæå êðîâüþ. Äåòåé æå ìàëåíüêèõ ó íàñ òðîå, è Êàòåðèíà Èâàíîâíà â ðàáîòå ñ óòðà äî íî÷è ñêðåáåò è ìîåò è äåòåé îáìûâàåò, èáî ê ÷èñòîòå ñ èçìàëåòñòâà ïðèâûêëà, à ñ ãðóäüþ ñëàáîþ è ê ÷àõîòêå íàêëîííîþ, è ÿ ýòî ÷óâñòâóþ. Ðàçâå ÿ íå ÷óâñòâóþ? È ÷åì áîëåå ïüþ, òåì áîëåå è ÷óâñòâóþ. Äëÿ òîãî è ïüþ, ÷òî â ïèòèè ñåì ñîñòðàäàíèÿ è ÷óâñòâà èùó. Íå âåñåëüÿ, à åäèíîé ñêîðáè èùó\85 Ïüþ, èáî ñóãóáî ñòðàäàòü õî÷ó! \97 È îí, êàê áû â îò÷àÿíèè, ñêëîíèë íà ñòîë ãîëîâó.
\ No newline at end of file
diff --git a/tests/IO/encoded-data/CP936-UTF8.txt b/tests/IO/encoded-data/CP936-UTF8.txt
new file mode 100644 (file)
index 0000000..1e30cd4
--- /dev/null
@@ -0,0 +1,153 @@
+《毛主席语录》全集(毛泽东语录)\r
+作者:毛泽东\r
+申明:本书由枫叶文学网[www.fywxw.com]自网络收集整理制作,仅供预览交流学习使用,版权归原作者和出版社所有,如果喜欢,请支持订阅购买正版.\r
+\r
+《毛主席语录》再版前言\r
+\r
+(一九六六年十二月十六日)\r
+\r
+林彪\r
+\r
+毛泽东同志是当代最伟大的马克思列宁主义者。毛泽东同志天才地、创造性地、全面地继承、捍卫和发展了马克思列宁主义,把马克思列宁主义提高到一个崭新的阶段。\r
+\r
+ 毛泽东思想是在帝国主义走向全面崩溃,社会主义走向全世界胜利的时代的马克思列宁主义。毛泽东思想是反对帝国主义的强大的思想武器,是反对修正主义和教条主义的强大的思想武器。毛泽东思想是全党、全军和全国一切工作的指导方针。\r
+\r
+因此,永远高举毛泽东思想伟大红旗,用毛泽东思想武装全国人民的头脑,坚持在一切工作中用毛泽东思想挂帅,是我党政治思想工作最根本的任务。广大工农兵群众、广大革命干部和广大知识分子,都必须把毛泽东思想真正学到手,做到人人读毛主席的书,听毛主席的话,照毛主席的指示办事,做毛主席的好战士。\r
+\r
+学习毛主席著作,要带着问题学,活学活用,学用结合,急用先学,立竿见影,在“用”字上狠下功夫。为了把毛泽东思想真正学到手,要反复学习毛主席的许多基本观点,有些警句最好要背熟,反复学习,反复运用。在报纸上,要经常结合实际,刊登毛主席的语录,供大家学习和运用。几年来广大群众活学活用毛主席著作的经验,证明带着问题选学毛主席的语录,是一种学习毛泽东思想的好方法,容易收到立竿见影的效果。\r
+\r
+为了帮助广大群众更好地学习毛泽东思想,我们选编了这本《毛主席语录》。各单位在组织学习的时候,应当结合形势、任务、群众的思想情况和工作情况,选学有关的内容。\r
+\r
+现在我们伟大的祖国,正在出现一个工农兵掌握马克思列宁主义、毛泽东思想的新时代。毛泽东思想为广大群众所掌握,就会变成无穷无尽的力量,变成威力无比的精神原子弹。《毛主席语录》的大量出版,对广大群众掌握毛泽东思想,推动我国人民思想革命化,是一个极为重要的措施。希望每个同志认真地、刻苦地学习,在全国范围内,掀起活学活用毛主席著作的新高潮,在毛泽东思想的伟大红旗下,为把我国建设成为一个具有现代农业,现代工业,现代科学文化和现代国防的伟大社会主义国家而奋斗!\r
+\r
+一、共产党\r
+\r
+领导我们事业的核心力量是中国共产党。\r
+\r
+指导我们思想的理论基础是马克思列宁主义。\r
+\r
+          ——《中华人民共和国第一届全国人民代表大会第一次会议开幕词》(一九五四年九月十五日),一九五四年九月十六日《人民日报》\r
+\r
+\r
+\r
+既要革命,就要有一个革命的党。没有一个革命的党,没有一个按照马克思列宁主义的革命理论和革命风格建立起来的革命党,就不可能领导工人阶级和广大人民群众战胜帝国主义及其走狗。\r
+\r
+          ——《全世界革命力量团结起来,反对帝国主义的侵略》(一九四八年十一月),《毛泽东选集》第四卷第一三六零页。\r
+\r
+\r
+\r
+没有中国共产党的努力,没有中国共产党人做中国人民的中流砥柱,中国的独立和解放是不可能的,中国的工业化和农业近代化也是不可能的。\r
+\r
+          ——《论联合政府》(一九四五年四月二十四日),《毛泽东选集》第三卷第一零九八-一零九九页。\r
+\r
+\r
+\r
+中国共产党是全中国人民的领导核心。没有这样一个核心,社会主义事业就不能胜利。\r
+\r
+          ——《在接见出席中国新民主主义青年团第三次全国代表大会的全体代表时的讲话》(一九五七年五月二十五日),《新华半月刊》一九五七年第十二号第五七页。\r
+\r
+\r
+\r
+一个有纪律的,有马克思列宁主义的理论武装的,采取自我批评方法的,联系人民群众的党。一个由这样的党领导的军队。一个由这样的党领导的各革命阶级各革命派别的统一战线。这三件是我们战胜敌人的主要武器。\r
+\r
+          ——《论人民民主专政》(一九四九年六月三十日),《毛泽东选集》第四卷第一四八四页。\r
+\r
+\r
+\r
+我们应当相信群众,我们应当相信党,这是两条根本的原理。如果怀疑这两条原理,那就什么事情也做不成了。\r
+\r
+          ——《关于农业合作化问题》(一九五五年七月三十一日),人民出版社第九页。\r
+\r
+\r
+\r
+以马克思列宁主义的理论思想武装起来的中国共产党,在中国人民中产生了新的工作作风,这主要的就是理论和实践相结合的作风,和人民群众紧密地联系在一起的作风以及自我批评的作风。\r
+\r
+          ——《论联合政府》(一九四五年四月二十四日),《毛泽东选集》第三卷第一零九四—一零九五页。\r
+\r
+\r
+\r
+指导一个伟大的革命运动的政党,如果没有革命理论,没有历史知识,没有对于实际运动的深刻的了解,要取得胜利是不可能的。\r
+\r
+          ——《中国共产党在民族战争中的地位》(一九三八年十月),《毛泽东选集》第二卷第五二一页。\r
+\r
+我们过去说过,整风运动是一个“普遍的马克思主义的教育运动”。整风就是全党通过批评和自我批评来学习马克思主义。在整风中间,我们一定可以更多地学到一些马克思主义。\r
+\r
+          ——《在中国共产党全国宣传工作会议上的讲话》(一九五七年三月十二日),人民出版社版第一一页。\r
+\r
+\r
+\r
+要使几亿人中的中国人生活得好,要把我们这个经济落后、文化落后的国家,建设成为富裕的、强盛的、具有高度文化的国家,这是一个很艰巨的任务。我们所以要整风,现在要整风,将来还要整风,要不断把我们身上的错误东西整掉,就是为了使我们能够更好地担负起这项任务,更好地同党外的一切立志改革的志士仁人共同工作。\r
+\r
+          ——《在中国共产党全国宣传工作会议上的讲话》(一九五七年三月十二日),人民出版社版第一二页。\r
+\r
+\r
+\r
+政策是革命政党一切实际行动的出发点,并且表现于行动的过程和归宿。一个革命政党的任何行动都是实行政策。不是实行正确的政策,就是实行错误的政策;不是自觉地,就是盲目地实行某种政策。所谓经验,就是实行政策的过程和归宿。政策必须在人民实践中,也就是经验中,才能证明其正确与否,才能确定其正确和错误的程度。但是,人们的实践,特别是革命政党和革命群众的实践,没有不同这种或那种政策相联系的。因此,在每一行动之前,必须向党员和群众讲明我们按情况规定的政策。否则,党员和群众就会脱离我们政策的领导而盲目行动,执行错误的政策。\r
+\r
+          ——《关于工商业政策》(一九四八年二月二十七日),《毛泽东选集》第四卷第一二八四页。\r
+\r
+\r
+\r
+我党规定了中国革命的总路线和总政策,又规定了各项具体的工作路线和各项具体的政策。但是,许多同志往往记住了我党的具体的个别的工作路线和政策,忘记了我党的总路线和总政策。而如果真正忘记了我党的总路线和总政策,我们就将是一个盲目的不完全的不清醒的革命者,在我们执行具体工作路线和具体政策的时候,就会迷失方向,就会左右摇摆,就会贻误我们的工作。\r
+\r
+          ——《在晋绥干部会议上的讲话》(一九四八年四月一日),《毛泽东选集》第四卷第一三一四页。\r
+\r
+\r
+\r
+政策和策略是党的生命,各级领导同志务必充分注意,万万不可粗心大意。\r
+\r
+          ——《关于情况的通报》(一九四八年三月二十日),《毛泽东选集》第四卷第一二九六页。\r
+\r
+二、阶级和阶级斗争\r
+\r
+阶级斗争,一些阶级胜利了,一些阶级消灭了。这就是历史,这就是几千年的文明史。拿这个观点解释历史的就叫做历史的唯物主义,站在这个观点的反面的是历史的唯心主义。\r
+\r
+          ——《丢掉幻想,准备斗争》(一九四九年八月十四日),          ——《毛泽东选集》第四卷第一四九一页\r
+\r
+在阶级社会中,每一个人都在一定的阶级地位中生活,各种思想无不打上阶级的烙印。\r
+\r
+          ——《实践论》(一九三七年七月),          ——《毛泽东选集》第一卷第二七二页\r
+\r
+社会的变化,主要地是由于社会内部矛盾的发展,即生产力和生产关系的矛盾,阶级之间的矛盾,新旧之间的矛盾,由于这些矛盾的发展,推动了社会的前进,推动了新旧社会的代谢。\r
+\r
+          ——《矛盾论》(一九三七年八月),          ——《毛泽东选集》第一卷第二九零页枫叶文学网[www.fywxw.com]\r
+\r
+地主阶级对于农民的残酷的经济剥削和政治压迫,迫使农民多次地举行起义,以反抗地主阶级的统治。……在中国封建社会里,只有这种农民的阶级斗争、农民的起义和农民的战争,才是历史发展的真正动力。\r
+\r
+          ——《中国革命和中国共产党》(一九三九年十二月),          ——《毛泽东选集》第二卷第六一九页\r
+\r
+民族斗争,说到底,是一个阶级斗争问题。在美国压迫黑人的,只是白色人种中的反动统治集团。他们绝不能代表白色人种中占绝大多数的工人、农民、革命的知识分子和其他开明人士。\r
+\r
+          ——《支持美国黑人反对美帝国主义种族歧视的正义斗争的声明》(一九六三年八月八日),          ——《全世界人民团结起来打败美国侵略者及其一切走狗》人民出版社版第四页\r
+\r
+人民靠我们去组织。中国的反动分子,靠我们组织起人民去反他打倒。凡是反动的东西,你不打,他就不倒。这也和扫地一样,扫帚不到,灰尘照例不会自己跑掉。\r
+\r
+          ——《抗日战争胜利后的时局和我们的方针》(一九四五年八月十三日),          ——《毛泽东选集》第四卷第一一三一页\r
+\r
+敌人是不会自行消灭的。无论是中国的反动派,或是美国帝国主义在中国的侵略势力,都不会自行退出历史舞台。\r
+\r
+          ——《将革命进行到底》(一九四八年十二月三十日),          ——《毛泽东选集》第四卷第一三七九页\r
+\r
+革命不是请客吃饭,不是做文章,不是绘画绣花,不能那样雅致,那样从容不迫,文质彬彬,那样温良恭俭让。革命是暴动,是一个阶级推翻一个阶级的暴烈的行动。\r
+\r
+          ——《湖南农民运动考察报告》(一九二七年三月),          ——《毛泽东选集》第一卷第一八页\r
+\r
+蒋介石对于人民是寸权必夺,寸利必得。我们呢?我们的方针是针锋相对,寸土必争。我们是按照蒋介石的办法办事。蒋介石总是要强迫人民接受战争,他左手拿着刀,右手也拿着刀。我们就按照他的办法,也拿起刀来。……现在蒋介石已经在磨刀了,因此,我们也要磨刀。\r
+\r
+          ——《抗日战争胜利后的时局和我们的方针》(一九四五年八月十三日),          ——《毛泽东选集》第四卷第一一二六          ——一一二七页\r
+\r
+谁是我们的敌人?谁是我们的朋友?这个问题是革命的首要问题。中国过去一切革命斗争成效甚少,其基本原因就是因为不能团结真正的朋友,以攻击真正的敌人。革命党是群众的向导,在革命中未有革命党领错了路而革命不失败的。我们的革命要有不领错路和一定成功的把握,不可不注意团结我们的真正的朋友,以攻击我们的真正的敌人。我们要分辨真正的敌友,不可不将中国社会各阶级的经济地位及其对于革命的态度,作一个大概的分析。\r
+\r
+          ——《中国社会各阶级的分析》(一九二六年三月),          ——《毛泽东选集》第一卷第三页\r
+\r
+一切勾结帝国主义的军阀、官僚、买办阶级、大地主阶级以及附属于他们的一部分反动知识界,是我们的敌人。工业无产阶级是我们革命的领导力量。一切半无产阶级、小资产阶级,是我们最接近的朋友。那动摇不定的中产阶级,其右翼可能是我们的敌人,其左翼可能是我们的朋友          ——但我们要时常提防他们,不要让他们扰乱了我们的阵线。\r
+\r
+          ——《中国社会各阶级的分析》(一九二六年三月),          ——《毛泽东选集》第一卷第八          ——第九页\r
+\r
+什么人站在革命人民方面,他就是革命派,什么人站在帝国主义封建主义官僚资本主义方面,他就是反革命派。什么人只是口头上站在革命人民方面而在行动上则另是一样,他就是一个口头革命派,如果不但在口头上而且在行动上也站在革命人民方面,他就是一个完全的革命派。\r
+\r
+在中国人民政治协商会议第一届全国委员会第二次会议上的闭幕词(一九五零年六月二十三日),一九五零年六月二十四日          ——《人民日报》\r
+\r
+我认为,对我们来说,一个人,一个党,一个军队,或者一个学校,如若不被敌人反对,那就不好了那一定是同敌人同流合污了。如若被敌人反对,那就好了,那就证明我们同敌人划清界线了。如若敌人起劲地反对我们,把我们说得一塌糊涂,一无是处,那就更好了,那就证明我们不但同敌人划清了界线,而且证明我们的工作是很有成绩的了。\r
+\r
+          ——《被敌人反对是好事而不是坏事》(一九
\ No newline at end of file
diff --git a/tests/IO/encoded-data/CP936.txt b/tests/IO/encoded-data/CP936.txt
new file mode 100644 (file)
index 0000000..1a82047
--- /dev/null
@@ -0,0 +1,153 @@
+¡¶Ã«Ö÷ϯÓA·È«¼¯(ëÔó¶«Óï¼)\r
+×÷ÕߣºÃ«Ôó¶«\r
+ÉêÃ÷:±¾ÊéÓÉ·ãÒ¶ÎÄѧÍø[www.fywxw.com]×ÔÍøÂçÊÕ¼¯ÕûÀíÖÆ×÷,½ö¹©Ô¤ÀÀ½»Á÷ѧϰʹÓÃ,°æȨ¹éÔ­×÷Õߺͳö°æÉçËùÓÐ,Èç¹ûϲ»¶,ÇëÖ§³Ö¶©ÔĹºÂòÕý°æ.\r
+\r
+¡¶Ã«Ö÷ϯÓA·ÔÙ°æÇ°ÑÔ\r
+\r
+(Ò»¾ÅÁùÁùÄêÊ®¶þÔÂÊ®ÁùÈÕ)\r
+\r
+ÁÖ±ë\r
+\r
+ëÔó¶«Í¬Ö¾Êǵ±´ú×îΰ´óµÄÂí¿Ë˼ÁÐÄþÖ÷ÒåÕß¡£Ã«Ôó¶«Í¬Ö¾Ìì²ÅµØ¡¢´´ÔìÐԵء¢È«ÃæµØ¼Ì³Ð¡¢º´ÎÀºÍ·¢Õ¹ÁËÂí¿Ë˼ÁÐÄþÖ÷Ò壬°ÑÂí¿Ë˼ÁÐÄþÖ÷ÒåÌá¸ßµ½Ò»¸öոеĽ׶Ρ£\r
+\r
+ Ã«Ôó¶«Ë¼ÏëÊÇÔÚµÛ¹úÖ÷Òå×ßÏòÈ«Ãæ±ÀÀ££¬Éç»áÖ÷Òå×ßÏòÈ«ÊÀ½çʤÀûµÄʱ´úµÄÂí¿Ë˼ÁÐÄþÖ÷Ò塣ëÔó¶«Ë¼ÏëÊÇ·´¶ÔµÛ¹úÖ÷ÒåµÄÇ¿´óµÄ˼ÏëÎäÆ÷£¬ÊÇ·´¶ÔÐÞÕýÖ÷ÒåºÍ½ÌÌõÖ÷ÒåµÄÇ¿´óµÄ˼ÏëÎäÆ÷¡£Ã«Ôó¶«Ë¼ÏëÊÇÈ«µ³¡¢È«¾üºÍÈ«¹úÒ»Çй¤×÷µÄÖ¸µ¼·½Õë¡£\r
+\r
+Òò´Ë£¬ÓÀÔ¶¸ß¾ÙëÔó¶«Ë¼Ïëΰ´óºìÆ죬ÓÃëÔó¶«Ë¼ÏëÎä×°È«¹úÈËÃñµÄÍ·ÄÔ£¬¼á³ÖÔÚÒ»Çй¤×÷ÖÐÓÃëÔó¶«Ë¼Ïë¹Ò˧£¬ÊÇÎÒµ³ÕþÖÎ˼Ï빤×÷×î¸ù±¾µÄÈÎÎñ¡£¹ã´ó¹¤Å©±øȺÖÚ¡¢¹ã´ó¸ïÃü¸É²¿ºÍ¹ã´ó֪ʶ·Ö×Ó£¬¶¼±ØÐë°ÑëÔó¶«Ë¼ÏëÕæÕýѧµ½ÊÖ£¬×öµ½ÈËÈ˶ÁëÖ÷ϯµÄÊ飬ÌýëÖ÷ϯµÄ»°£¬ÕÕëÖ÷ϯµÄָʾ°ìÊ£¬×öëÖ÷ϯµÄºÃսʿ¡£\r
+\r
+ѧϰëÖ÷ϯÖø×÷£¬Òª´ø×ÅÎÊÌâѧ£¬»îѧ»îÓã¬Ñ§ÓýáºÏ£¬¼±ÓÃÏÈѧ£¬Á¢¸Í¼ûÓ°£¬ÔÚ¡°Óá±×ÖÉϺÝϹ¦·ò¡£ÎªÁË°ÑëÔó¶«Ë¼ÏëÕæÕýѧµ½ÊÖ£¬Òª·´¸´Ñ§Ï°Ã«Ö÷ϯµÄÐí¶à»ù±¾¹Ûµã£¬ÓÐЩ¾¯¾ä×îºÃÒª±³Ê죬·´¸´Ñ§Ï°£¬·´¸´ÔËÓá£ÔÚ±¨Ö½ÉÏ£¬Òª¾­³£½áºÏʵ¼Ê£¬¿¯µÇëÖ÷ϯµÄÓï¼£¬¹©´ó¼ÒѧϰºÍÔËÓ᣼¸ÄêÀ´¹ã´óȺÖÚ»îѧ»îÓÃëÖ÷ϯÖø×÷µÄ¾­Ñ飬֤Ã÷´ø×ÅÎÊÌâѡѧëÖ÷ϯµÄÓï¼£¬ÊÇÒ»ÖÖѧϰëÔó¶«Ë¼ÏëµÄºÃ·½·¨£¬ÈÝÒ×ÊÕµ½Á¢¸Í¼ûÓ°µÄЧ¹û¡£\r
+\r
+ΪÁË°ïÖú¹ã´óȺÖÚ¸üºÃµØѧϰëÔó¶«Ë¼Ï룬ÎÒÃÇÑ¡±àÁËÕâ±¾¡¶Ã«Ö÷ϯÓA·¡£¸÷µ¥Î»ÔÚ×é֯ѧϰµÄʱºò£¬Ó¦µ±½áºÏÐÎÊÆ¡¢ÈÎÎñ¡¢ÈºÖÚµÄ˼ÏëÇé¿öºÍ¹¤×÷Çé¿ö£¬Ñ¡Ñ§ÓйصÄÄÚÈÝ¡£\r
+\r
+ÏÖÔÚÎÒÃÇΰ´óµÄ×æ¹ú£¬ÕýÔÚ³öÏÖÒ»¸ö¹¤Å©±øÕÆÎÕÂí¿Ë˼ÁÐÄþÖ÷Ò塢ëÔó¶«Ë¼ÏëµÄÐÂʱ´ú¡£Ã«Ôó¶«Ë¼ÏëΪ¹ã´óȺÖÚËùÕÆÎÕ£¬¾Í»á±ä³ÉÎÞÇîÎÞ¾¡µÄÁ¦Á¿£¬±ä³ÉÍþÁ¦Îޱȵľ«ÉñÔ­×Óµ¯¡£¡¶Ã«Ö÷ϯÓA·µÄ´óÁ¿³ö°æ£¬¶Ô¹ã´óȺÖÚÕÆÎÕëÔó¶«Ë¼Ï룬Íƶ¯ÎÒ¹úÈËÃñ˼Ïë¸ïÃü»¯£¬ÊÇÒ»¸ö¼«ÎªÖØÒªµÄ´ëÊ©¡£Ï£Íûÿ¸öͬ־ÈÏÕæµØ¡¢¿Ì¿àµØѧϰ£¬ÔÚÈ«¹ú·¶Î§ÄÚ£¬ÏÆÆð»îѧ»îÓÃëÖ÷ϯÖø×÷µÄи߳±£¬ÔÚëÔó¶«Ë¼ÏëµÄΰ´óºìÆìÏ£¬Îª°ÑÎÒ¹ú½¨Éè³ÉΪһ¸ö¾ßÓÐÏÖ´úÅ©Òµ£¬ÏÖ´ú¹¤Òµ£¬ÏÖ´ú¿ÆѧÎÄ»¯ºÍÏÖ´ú¹ú·ÀµÄΰ´óÉç»áÖ÷Òå¹ú¼Ò¶ø·Ü¶·£¡\r
+\r
+Ò»¡¢¹²²úµ³\r
+\r
+Áìµ¼ÎÒÃÇÊÂÒµµÄºËÐÄÁ¦Á¿ÊÇÖйú¹²²úµ³¡£\r
+\r
+Ö¸µ¼ÎÒÃÇ˼ÏëµÄÀíÂÛ»ù´¡ÊÇÂí¿Ë˼ÁÐÄþÖ÷Òå¡£\r
+\r
+          ¡ª¡ª¡¶ÖлªÈËÃñ¹²ºÍ¹úµÚÒ»½ìÈ«¹úÈËÃñ´ú±í´ó»áµÚÒ»´Î»áÒ鿪Ļ´Ê¡·£¨Ò»¾ÅÎåËÄÄê¾ÅÔÂÊ®ÎåÈÕ£©£¬Ò»¾ÅÎåËÄÄê¾ÅÔÂÊ®ÁùÈÕ¡¶ÈËÃñÈÕ±¨¡·\r
+\r
+\r
+\r
+¼ÈÒª¸ïÃü£¬¾ÍÒªÓÐÒ»¸ö¸ïÃüµÄµ³¡£Ã»ÓÐÒ»¸ö¸ïÃüµÄµ³£¬Ã»ÓÐÒ»¸ö°´ÕÕÂí¿Ë˼ÁÐÄþÖ÷ÒåµÄ¸ïÃüÀíÂۺ͸ïÃü·ç¸ñ½¨Á¢ÆðÀ´µÄ¸ïÃüµ³£¬¾Í²»¿ÉÄÜÁìµ¼¹¤È˽׼¶ºÍ¹ã´óÈËÃñȺÖÚսʤµÛ¹úÖ÷Òå¼°Æä×ß¹·¡£\r
+\r
+          ¡ª¡ª¡¶È«ÊÀ½ç¸ïÃüÁ¦Á¿ÍŽáÆðÀ´£¬·´¶ÔµÛ¹úÖ÷ÒåµÄÇÖÂÔ¡·£¨Ò»¾ÅËÄ°ËÄêʮһÔ£©£¬¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚËľíµÚÒ»ÈýÁùÁãÒ³¡£\r
+\r
+\r
+\r
+ûÓÐÖйú¹²²úµ³µÄŬÁ¦£¬Ã»ÓÐÖйú¹²²úµ³ÈË×öÖйúÈËÃñµÄÖÐÁ÷íÆÖù£¬ÖйúµÄ¶ÀÁ¢ºÍ½â·ÅÊDz»¿ÉÄܵģ¬ÖйúµÄ¹¤Òµ»¯ºÍÅ©Òµ½ü´ú»¯Ò²ÊDz»¿ÉÄܵġ£\r
+\r
+          ¡ª¡ª¡¶ÂÛÁªºÏÕþ¸®¡·£¨Ò»¾ÅËÄÎåÄêËÄÔ¶þÊ®ËÄÈÕ£©£¬¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚÈý¾íµÚÒ»Áã¾Å°Ë-Ò»Áã¾Å¾ÅÒ³¡£\r
+\r
+\r
+\r
+Öйú¹²²úµ³ÊÇÈ«ÖйúÈËÃñµÄÁìµ¼ºËÐÄ¡£Ã»ÓÐÕâÑùÒ»¸öºËÐÄ£¬Éç»áÖ÷ÒåÊÂÒµ¾Í²»ÄÜʤÀû¡£\r
+\r
+          ¡ª¡ª¡¶ÔÚ½Ó¼û³öϯÖйúÐÂÃñÖ÷Ö÷ÒåÇàÄêÍŵÚÈý´ÎÈ«¹ú´ú±í´ó»áµÄÈ«Ìå´ú±íʱµÄ½²»°¡·£¨Ò»¾ÅÎåÆßÄêÎåÔ¶þÊ®ÎåÈÕ£©£¬¡¶Ð»ª°ëÔ¿¯¡·Ò»¾ÅÎåÆßÄêµÚÊ®¶þºÅµÚÎåÆßÒ³¡£\r
+\r
+\r
+\r
+Ò»¸öÓмÍÂɵģ¬ÓÐÂí¿Ë˼ÁÐÄþÖ÷ÒåµÄÀíÂÛÎä×°µÄ£¬²ÉÈ¡×ÔÎÒÅúÆÀ·½·¨µÄ£¬ÁªÏµÈËÃñȺÖڵĵ³¡£Ò»¸öÓÉÕâÑùµÄµ³Áìµ¼µÄ¾ü¶Ó¡£Ò»¸öÓÉÕâÑùµÄµ³Áìµ¼µÄ¸÷¸ïÃü½×¼¶¸÷¸ïÃüÅɱðµÄͳһսÏß¡£ÕâÈý¼þÊÇÎÒÃÇսʤµÐÈ˵ÄÖ÷ÒªÎäÆ÷¡£\r
+\r
+          ¡ª¡ª¡¶ÂÛÈËÃñÃñÖ÷רÕþ¡·£¨Ò»¾ÅËľÅÄêÁùÔÂÈýÊ®ÈÕ£©£¬¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚËľíµÚÒ»ËÄ°ËËÄÒ³¡£\r
+\r
+\r
+\r
+ÎÒÃÇÓ¦µ±ÏàÐÅȺÖÚ£¬ÎÒÃÇÓ¦µ±ÏàÐŵ³£¬ÕâÊÇÁ½Ìõ¸ù±¾µÄÔ­Àí¡£Èç¹û»³ÒÉÕâÁ½ÌõÔ­Àí£¬ÄǾÍʲôÊÂÇéÒ²×ö²»³ÉÁË¡£\r
+\r
+          ¡ª¡ª¡¶¹ØÓÚÅ©ÒµºÏ×÷»¯ÎÊÌâ¡·£¨Ò»¾ÅÎåÎåÄêÆßÔÂÈýʮһÈÕ£©£¬ÈËÃñ³ö°æÉçµÚ¾ÅÒ³¡£\r
+\r
+\r
+\r
+ÒÔÂí¿Ë˼ÁÐÄþÖ÷ÒåµÄÀíÂÛ˼ÏëÎä×°ÆðÀ´µÄÖйú¹²²úµ³£¬ÔÚÖйúÈËÃñÖвúÉúÁËÐµĹ¤×÷×÷·ç£¬ÕâÖ÷ÒªµÄ¾ÍÊÇÀíÂÛºÍʵ¼ùÏà½áºÏµÄ×÷·ç£¬ºÍÈËÃñȺÖÚ½ôÃܵØÁªÏµÔÚÒ»ÆðµÄ×÷·çÒÔ¼°×ÔÎÒÅúÆÀµÄ×÷·ç¡£\r
+\r
+          ¡ª¡ª¡¶ÂÛÁªºÏÕþ¸®¡·£¨Ò»¾ÅËÄÎåÄêËÄÔ¶þÊ®ËÄÈÕ£©£¬¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚÈý¾íµÚÒ»Áã¾ÅËÄ¡ªÒ»Áã¾ÅÎåÒ³¡£\r
+\r
+\r
+\r
+Ö¸µ¼Ò»¸öΰ´óµÄ¸ïÃüÔ˶¯µÄÕþµ³£¬Èç¹ûûÓиïÃüÀíÂÛ£¬Ã»ÓÐÀúʷ֪ʶ£¬Ã»ÓжÔÓÚʵ¼ÊÔ˶¯µÄÉî¿ÌµÄÁ˽⣬ҪȡµÃʤÀûÊDz»¿ÉÄܵġ£\r
+\r
+          ¡ª¡ª¡¶Öйú¹²²úµ³ÔÚÃñ×åÕ½ÕùÖеĵØλ¡·£¨Ò»¾ÅÈý°ËÄêʮԣ©£¬¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚ¶þ¾íµÚÎå¶þÒ»Ò³¡£\r
+\r
+ÎÒÃǹýȥ˵¹ý£¬Õû·çÔ˶¯ÊÇÒ»¸ö¡°ÆÕ±éµÄÂí¿Ë˼Ö÷ÒåµÄ½ÌÓýÔ˶¯¡±¡£Õû·ç¾ÍÊÇÈ«µ³Í¨¹ýÅúÆÀºÍ×ÔÎÒÅúÆÀÀ´Ñ§Ï°Âí¿Ë˼Ö÷Òå¡£ÔÚÕû·çÖм䣬ÎÒÃÇÒ»¶¨¿ÉÒÔ¸ü¶àµØѧµ½Ò»Ð©Âí¿Ë˼Ö÷Òå¡£\r
+\r
+          ¡ª¡ª¡¶ÔÚÖйú¹²²úµ³È«¹úÐû´«¹¤×÷»áÒéÉϵĽ²»°¡·£¨Ò»¾ÅÎåÆßÄêÈýÔÂÊ®¶þÈÕ£©£¬ÈËÃñ³ö°æÉç°æµÚÒ»Ò»Ò³¡£\r
+\r
+\r
+\r
+Ҫʹ¼¸ÒÚÈËÖеÄÖйúÈËÉú»îµÃºÃ£¬Òª°ÑÎÒÃÇÕâ¸ö¾­¼ÃÂäºó¡¢ÎÄ»¯ÂäºóµÄ¹ú¼Ò£¬½¨Éè³ÉΪ¸»Ô£µÄ¡¢Ç¿Ê¢µÄ¡¢¾ßÓи߶ÈÎÄ»¯µÄ¹ú¼Ò£¬ÕâÊÇÒ»¸öºÜ¼è¾ÞµÄÈÎÎñ¡£ÎÒÃÇËùÒÔÒªÕû·ç£¬ÏÖÔÚÒªÕû·ç£¬½«À´»¹ÒªÕû·ç£¬Òª²»¶Ï°ÑÎÒÃÇÉíÉϵĴíÎó¶«Î÷Õûµô£¬¾ÍÊÇΪÁËʹÎÒÃÇÄܹ»¸üºÃµØµ£¸ºÆðÕâÏîÈÎÎñ£¬¸üºÃµØͬµ³ÍâµÄÒ»ÇÐÁ¢Ö¾¸Ä¸ïµÄ־ʿÈÊÈ˹²Í¬¹¤×÷¡£\r
+\r
+          ¡ª¡ª¡¶ÔÚÖйú¹²²úµ³È«¹úÐû´«¹¤×÷»áÒéÉϵĽ²»°¡·£¨Ò»¾ÅÎåÆßÄêÈýÔÂÊ®¶þÈÕ£©£¬ÈËÃñ³ö°æÉç°æµÚÒ»¶þÒ³¡£\r
+\r
+\r
+\r
+Õþ²ßÊǸïÃüÕþµ³Ò»ÇÐʵ¼ÊÐж¯µÄ³ö·¢µã£¬²¢ÇÒ±íÏÖÓÚÐж¯µÄ¹ý³ÌºÍ¹éËÞ¡£Ò»¸ö¸ïÃüÕþµ³µÄÈκÎÐж¯¶¼ÊÇʵÐÐÕþ²ß¡£²»ÊÇʵÐÐÕýÈ·µÄÕþ²ß£¬¾ÍÊÇʵÐдíÎóµÄÕþ²ß£»²»ÊÇ×Ô¾õµØ£¬¾ÍÊÇäĿµØʵÐÐijÖÖÕþ²ß¡£Ëùν¾­Ñ飬¾ÍÊÇʵÐÐÕþ²ßµÄ¹ý³ÌºÍ¹éËÞ¡£Õþ²ß±ØÐëÔÚÈËÃñʵ¼ùÖУ¬Ò²¾ÍÊǾ­ÑéÖУ¬²ÅÄÜÖ¤Ã÷ÆäÕýÈ·Óë·ñ£¬²ÅÄÜÈ·¶¨ÆäÕýÈ·ºÍ´íÎóµÄ³Ì¶È¡£µ«ÊÇ£¬ÈËÃǵÄʵ¼ù£¬ÌرðÊǸïÃüÕþµ³ºÍ¸ïÃüȺÖÚµÄʵ¼ù£¬Ã»Óв»Í¬ÕâÖÖ»òÄÇÖÖÕþ²ßÏàÁªÏµµÄ¡£Òò´Ë£¬ÔÚÿһÐж¯Ö®Ç°£¬±ØÐëÏòµ³Ô±ºÍȺÖÚ½²Ã÷ÎÒÃÇ°´Çé¿ö¹æ¶¨µÄÕþ²ß¡£·ñÔò£¬µ³Ô±ºÍȺÖھͻáÍÑÀëÎÒÃÇÕþ²ßµÄÁìµ¼¶øäĿÐж¯£¬Ö´ÐдíÎóµÄÕþ²ß¡£\r
+\r
+          ¡ª¡ª¡¶¹ØÓÚ¹¤ÉÌÒµÕþ²ß¡·£¨Ò»¾ÅËÄ°ËÄê¶þÔ¶þÊ®ÆßÈÕ£©£¬¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚËľíµÚÒ»¶þ°ËËÄÒ³¡£\r
+\r
+\r
+\r
+ÎÒµ³¹æ¶¨ÁËÖйú¸ïÃüµÄ×Ü·ÏߺÍ×ÜÕþ²ß£¬Óֹ涨Á˸÷Ïî¾ßÌåµÄ¹¤×÷·Ïߺ͸÷Ïî¾ßÌåµÄÕþ²ß¡£µ«ÊÇ£¬Ðí¶àͬ־ÍùÍù¼ÇסÁËÎÒµ³µÄ¾ßÌåµÄ¸ö±ðµÄ¹¤×÷·ÏߺÍÕþ²ß£¬Íü¼ÇÁËÎÒµ³µÄ×Ü·ÏߺÍ×ÜÕþ²ß¡£¶øÈç¹ûÕæÕýÍü¼ÇÁËÎÒµ³µÄ×Ü·ÏߺÍ×ÜÕþ²ß£¬ÎÒÃǾͽ«ÊÇÒ»¸öäĿµÄ²»ÍêÈ«µÄ²»ÇåÐѵĸïÃüÕߣ¬ÔÚÎÒÃÇÖ´ÐоßÌ幤×÷·Ïߺ;ßÌåÕþ²ßµÄʱºò£¬¾Í»áÃÔʧ·½Ïò£¬¾Í»á×óÓÒÒ¡°Ú£¬¾Í»áêÝÎóÎÒÃǵŤ×÷¡£\r
+\r
+          ¡ª¡ª¡¶ÔÚ½úËç¸É²¿»áÒéÉϵĽ²»°¡·£¨Ò»¾ÅËÄ°ËÄêËÄÔÂÒ»ÈÕ£©£¬¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚËľíµÚÒ»ÈýÒ»ËÄÒ³¡£\r
+\r
+\r
+\r
+Õþ²ßºÍ²ßÂÔÊǵ³µÄÉúÃü£¬¸÷¼¶Á쵼ͬ־Îñ±Ø³ä·Ö×¢Ò⣬ÍòÍò²»¿É´ÖÐÄ´óÒâ¡£\r
+\r
+          ¡ª¡ª¡¶¹ØÓÚÇé¿öµÄͨ±¨¡·£¨Ò»¾ÅËÄ°ËÄêÈýÔ¶þÊ®ÈÕ£©£¬¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚËľíµÚÒ»¶þ¾ÅÁùÒ³¡£\r
+\r
+¶þ¡¢½×¼¶ºÍ½×¼¶¶·Õù\r
+\r
+½×¼¶¶·Õù£¬Ò»Ð©½×¼¶Ê¤ÀûÁË£¬Ò»Ð©½×¼¶ÏûÃðÁË¡£Õâ¾ÍÊÇÀúÊ·£¬Õâ¾ÍÊǼ¸Ç§ÄêµÄÎÄÃ÷Ê·¡£ÄÃÕâ¸ö¹Ûµã½âÊÍÀúÊ·µÄ¾Í½Ð×öÀúÊ·µÄΨÎïÖ÷Ò壬վÔÚÕâ¸ö¹ÛµãµÄ·´ÃæµÄÊÇÀúÊ·µÄΨÐÄÖ÷Òå¡£\r
+\r
+          ¡ª¡ª¡¶¶ªµô»ÃÏ룬׼±¸¶·Õù¡·£¨Ò»¾ÅËľÅÄê°ËÔÂÊ®ËÄÈÕ£©£¬          ¡ª¡ª¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚËľíµÚÒ»ËľÅÒ»Ò³\r
+\r
+ÔÚ½×¼¶Éç»áÖУ¬Ã¿Ò»¸öÈ˶¼ÔÚÒ»¶¨µÄ½×¼¶µØλÖÐÉú»î£¬¸÷ÖÖ˼ÏëÎÞ²»´òÉϽ׼¶µÄÀÓÓ¡¡£\r
+\r
+          ¡ª¡ª¡¶Êµ¼ùÂÛ¡·£¨Ò»¾ÅÈýÆßÄêÆßÔ£©£¬          ¡ª¡ª¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚÒ»¾íµÚ¶þÆ߶þÒ³\r
+\r
+Éç»áµÄ±ä»¯£¬Ö÷ÒªµØÊÇÓÉÓÚÉç»áÄÚ²¿Ã¬¶ÜµÄ·¢Õ¹£¬¼´Éú²úÁ¦ºÍÉú²ú¹ØϵµÄì¶Ü£¬½×¼¶Ö®¼äµÄì¶Ü£¬Ð¾ÉÖ®¼äµÄì¶Ü£¬ÓÉÓÚÕâЩì¶ÜµÄ·¢Õ¹£¬Íƶ¯ÁËÉç»áµÄÇ°½ø£¬Íƶ¯ÁËоÉÉç»áµÄ´úл¡£\r
+\r
+          ¡ª¡ª¡¶Ã¬¶ÜÂÛ¡·£¨Ò»¾ÅÈýÆßÄê°ËÔ£©£¬          ¡ª¡ª¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚÒ»¾íµÚ¶þ¾ÅÁãÒ³·ãÒ¶ÎÄѧÍø[www.fywxw.com]\r
+\r
+µØÖ÷½×¼¶¶ÔÓÚÅ©ÃñµÄ²Ð¿áµÄ¾­¼Ã°þÏ÷ºÍÕþÖÎѹÆÈ£¬ÆÈʹũÃñ¶à´ÎµØ¾ÙÐÐÆðÒ壬ÒÔ·´¿¹µØÖ÷½×¼¶µÄͳÖΡ£¡­¡­ÔÚÖйú·â½¨Éç»áÀֻÓÐÕâÖÖÅ©ÃñµÄ½×¼¶¶·Õù¡¢Å©ÃñµÄÆðÒåºÍÅ©ÃñµÄÕ½Õù£¬²ÅÊÇÀúÊ··¢Õ¹µÄÕæÕý¶¯Á¦¡£\r
+\r
+          ¡ª¡ª¡¶Öйú¸ïÃüºÍÖйú¹²²úµ³¡·£¨Ò»¾ÅÈý¾ÅÄêÊ®¶þÔ£©£¬          ¡ª¡ª¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚ¶þ¾íµÚÁùÒ»¾ÅÒ³\r
+\r
+Ãñ×嶷Õù£¬Ëµµ½µ×£¬ÊÇÒ»¸ö½×¼¶¶·ÕùÎÊÌâ¡£ÔÚÃÀ¹úѹÆȺÚÈ˵ģ¬Ö»ÊÇ°×É«ÈËÖÖÖеķ´¶¯Í³Öμ¯ÍÅ¡£ËûÃǾø²»ÄÜ´ú±í°×É«ÈËÖÖÖÐÕ¼¾ø´ó¶àÊýµÄ¹¤ÈË¡¢Å©Ãñ¡¢¸ïÃüµÄ֪ʶ·Ö×ÓºÍÆäËû¿ªÃ÷ÈËÊ¿¡£\r
+\r
+          ¡ª¡ª¡¶Ö§³ÖÃÀ¹úºÚÈË·´¶ÔÃÀµÛ¹úÖ÷ÒåÖÖ×åÆçÊÓµÄÕýÒ嶷ÕùµÄÉùÃ÷¡·£¨Ò»¾ÅÁùÈýÄê°ËÔ°ËÈÕ£©£¬          ¡ª¡ª¡¶È«ÊÀ½çÈËÃñÍŽáÆðÀ´´ò°ÜÃÀ¹úÇÖÂÔÕß¼°ÆäÒ»ÇÐ×ß¹·¡·ÈËÃñ³ö°æÉç°æµÚËÄÒ³\r
+\r
+ÈËÃñ¿¿ÎÒÃÇÈ¥×éÖ¯¡£ÖйúµÄ·´¶¯·Ö×Ó£¬¿¿ÎÒÃÇ×éÖ¯ÆðÈËÃñÈ¥·´Ëû´òµ¹¡£·²ÊÇ·´¶¯µÄ¶«Î÷£¬Äã²»´ò£¬Ëû¾Í²»µ¹¡£ÕâÒ²ºÍɨµØÒ»Ñù£¬É¨Öã²»µ½£¬»Ò³¾ÕÕÀý²»»á×Ô¼ºÅܵô¡£\r
+\r
+          ¡ª¡ª¡¶¿¹ÈÕÕ½ÕùʤÀûºóµÄʱ¾ÖºÍÎÒÃǵķ½Õë¡·£¨Ò»¾ÅËÄÎåÄê°ËÔÂÊ®ÈýÈÕ£©£¬          ¡ª¡ª¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚËľíµÚÒ»Ò»ÈýÒ»Ò³\r
+\r
+µÐÈËÊDz»»á×ÔÐÐÏûÃðµÄ¡£ÎÞÂÛÊÇÖйúµÄ·´¶¯ÅÉ£¬»òÊÇÃÀ¹úµÛ¹úÖ÷ÒåÔÚÖйúµÄÇÖÂÔÊÆÁ¦£¬¶¼²»»á×ÔÐÐÍ˳öÀúÊ·Îę̀¡£\r
+\r
+          ¡ª¡ª¡¶½«¸ïÃü½øÐе½µ×¡·£¨Ò»¾ÅËÄ°ËÄêÊ®¶þÔÂÈýÊ®ÈÕ£©£¬          ¡ª¡ª¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚËľíµÚÒ»ÈýÆß¾ÅÒ³\r
+\r
+¸ïÃü²»ÊÇÇë¿Í³Ô·¹£¬²»ÊÇ×öÎÄÕ£¬²»Êǻ滭Ð廨£¬²»ÄÜÄÇÑùÑÅÖ£¬ÄÇÑù´ÓÈݲ»ÆÈ£¬ÎÄÖʱò±ò£¬ÄÇÑùÎÂÁ¼¹§¼óÈ᣸ïÃüÊDZ©¶¯£¬ÊÇÒ»¸ö½×¼¶ÍÆ·­Ò»¸ö½×¼¶µÄ±©ÁÒµÄÐж¯¡£\r
+\r
+          ¡ª¡ª¡¶ºþÄÏÅ©ÃñÔ˶¯¿¼²ì±¨¸æ¡·£¨Ò»¾Å¶þÆßÄêÈýÔ£©£¬          ¡ª¡ª¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚÒ»¾íµÚÒ»°ËÒ³\r
+\r
+½¯½éʯ¶ÔÓÚÈËÃñÊÇ´çȨ±Ø¶á£¬´çÀû±ØµÃ¡£ÎÒÃÇÄØ£¿ÎÒÃǵķ½ÕëÊÇÕë·æÏà¶Ô£¬´çÍÁ±ØÕù¡£ÎÒÃÇÊÇ°´ÕÕ½¯½éʯµÄ°ì·¨°ìÊ¡£½¯½éʯ×ÜÊÇҪǿÆÈÈËÃñ½ÓÊÜÕ½Õù£¬Ëû×óÊÖÄÃ×ŵ¶£¬ÓÒÊÖÒ²ÄÃ×ŵ¶¡£ÎÒÃǾͰ´ÕÕËûµÄ°ì·¨£¬Ò²ÄÃÆðµ¶À´¡£¡­¡­ÏÖÔÚ½¯½éʯÒѾ­ÔÚÄ¥µ¶ÁË£¬Òò´Ë£¬ÎÒÃÇҲҪĥµ¶¡£\r
+\r
+          ¡ª¡ª¡¶¿¹ÈÕÕ½ÕùʤÀûºóµÄʱ¾ÖºÍÎÒÃǵķ½Õë¡·£¨Ò»¾ÅËÄÎåÄê°ËÔÂÊ®ÈýÈÕ£©£¬          ¡ª¡ª¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚËľíµÚÒ»Ò»¶þÁù          ¡ª¡ªÒ»Ò»¶þÆßÒ³\r
+\r
+Ë­ÊÇÎÒÃǵĵÐÈË£¿Ë­ÊÇÎÒÃǵÄÅóÓÑ£¿Õâ¸öÎÊÌâÊǸïÃüµÄÊ×ÒªÎÊÌâ¡£Öйú¹ýÈ¥Ò»ÇиïÃü¶·Õù³ÉЧÉõÉÙ£¬Æä»ù±¾Ô­Òò¾ÍÊÇÒòΪ²»ÄÜÍŽáÕæÕýµÄÅóÓÑ£¬ÒÔ¹¥»÷ÕæÕýµÄµÐÈË¡£¸ïÃüµ³ÊÇȺÖÚµÄÏòµ¼£¬ÔÚ¸ïÃüÖÐδÓиïÃüµ³Áì´íÁË·¶ø¸ïÃü²»Ê§°ÜµÄ¡£ÎÒÃǵĸïÃüÒªÓв»Áì´í·ºÍÒ»¶¨³É¹¦µÄ°ÑÎÕ£¬²»¿É²»×¢ÒâÍŽáÎÒÃǵÄÕæÕýµÄÅóÓÑ£¬ÒÔ¹¥»÷ÎÒÃǵÄÕæÕýµÄµÐÈË¡£ÎÒÃÇÒª·Ö±æÕæÕýµÄµÐÓÑ£¬²»¿É²»½«ÖйúÉç»á¸÷½×¼¶µÄ¾­¼ÃµØλ¼°Æä¶ÔÓÚ¸ïÃüµÄ̬¶È£¬×÷Ò»¸ö´ó¸ÅµÄ·ÖÎö¡£\r
+\r
+          ¡ª¡ª¡¶ÖйúÉç»á¸÷½×¼¶µÄ·ÖÎö¡·£¨Ò»¾Å¶þÁùÄêÈýÔ£©£¬          ¡ª¡ª¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚÒ»¾íµÚÈýÒ³\r
+\r
+Ò»Çй´½áµÛ¹úÖ÷ÒåµÄ¾ü·§¡¢¹ÙÁÅ¡¢Âò°ì½×¼¶¡¢´óµØÖ÷½×¼¶ÒÔ¼°¸½ÊôÓÚËûÃǵÄÒ»²¿·Ö·´¶¯ÖªÊ¶½ç£¬ÊÇÎÒÃǵĵÐÈË¡£¹¤ÒµÎÞ²ú½×¼¶ÊÇÎÒÃǸïÃüµÄÁìµ¼Á¦Á¿¡£Ò»ÇаëÎÞ²ú½×¼¶¡¢Ð¡×ʲú½×¼¶£¬ÊÇÎÒÃÇ×î½Ó½üµÄÅóÓÑ¡£ÄǶ¯Ò¡²»¶¨µÄÖвú½×¼¶£¬ÆäÓÒÒí¿ÉÄÜÊÇÎÒÃǵĵÐÈË£¬Æä×óÒí¿ÉÄÜÊÇÎÒÃǵÄÅóÓÑ          ¡ª¡ªµ«ÎÒÃÇҪʱ³£Ìá·ÀËûÃÇ£¬²»ÒªÈÃËûÃÇÈÅÂÒÁËÎÒÃǵÄÕóÏß¡£\r
+\r
+          ¡ª¡ª¡¶ÖйúÉç»á¸÷½×¼¶µÄ·ÖÎö¡·£¨Ò»¾Å¶þÁùÄêÈýÔ£©£¬          ¡ª¡ª¡¶Ã«Ôó¶«Ñ¡¼¯¡·µÚÒ»¾íµÚ°Ë          ¡ª¡ªµÚ¾ÅÒ³\r
+\r
+ʲôÈËÕ¾ÔÚ¸ïÃüÈËÃñ·½Ã棬Ëû¾ÍÊǸïÃüÅÉ£¬Ê²Ã´ÈËÕ¾ÔÚµÛ¹úÖ÷Òå·â½¨Ö÷Òå¹ÙÁÅ×ʱ¾Ö÷Òå·½Ã棬Ëû¾ÍÊÇ·´¸ïÃüÅÉ¡£Ê²Ã´ÈËÖ»ÊÇ¿ÚÍ·ÉÏÕ¾ÔÚ¸ïÃüÈËÃñ·½Ãæ¶øÔÚÐж¯ÉÏÔòÁíÊÇÒ»Ñù£¬Ëû¾ÍÊÇÒ»¸ö¿ÚÍ·¸ïÃüÅÉ£¬Èç¹û²»µ«ÔÚ¿ÚÍ·É϶øÇÒÔÚÐж¯ÉÏÒ²Õ¾ÔÚ¸ïÃüÈËÃñ·½Ã棬Ëû¾ÍÊÇÒ»¸öÍêÈ«µÄ¸ïÃüÅÉ¡£\r
+\r
+ÔÚÖйúÈËÃñÕþÖÎЭÉÌ»áÒéµÚÒ»½ìÈ«¹úίԱ»áµÚ¶þ´Î»áÒéÉϵıÕÄ»´Ê£¨Ò»¾ÅÎåÁãÄêÁùÔ¶þÊ®ÈýÈÕ£©£¬Ò»¾ÅÎåÁãÄêÁùÔ¶þÊ®ËÄÈÕ          ¡ª¡ª¡¶ÈËÃñÈÕ±¨¡·\r
+\r
+ÎÒÈÏΪ£¬¶ÔÎÒÃÇÀ´Ëµ£¬Ò»¸öÈË£¬Ò»¸öµ³£¬Ò»¸ö¾ü¶Ó£¬»òÕßÒ»¸öѧУ£¬ÈçÈô²»±»µÐÈË·´¶Ô£¬ÄǾͲ»ºÃÁËÄÇÒ»¶¨ÊÇͬµÐÈËͬÁ÷ºÏÎÛÁË¡£ÈçÈô±»µÐÈË·´¶Ô£¬ÄǾͺÃÁË£¬ÄǾÍÖ¤Ã÷ÎÒÃÇͬµÐÈË»®Çå½çÏßÁË¡£ÈçÈôµÐÈËÆ𾢵ط´¶ÔÎÒÃÇ£¬°ÑÎÒÃÇ˵µÃÒ»ËúºýÍ¿£¬Ò»ÎÞÊÇ´¦£¬ÄǾ͸üºÃÁË£¬ÄǾÍÖ¤Ã÷ÎÒÃDz»µ«Í¬µÐÈË»®ÇåÁ˽çÏߣ¬¶øÇÒÖ¤Ã÷ÎÒÃǵŤ×÷ÊǺÜÓгɼ¨µÄÁË¡£\r
+\r
+          ¡ª¡ª¡¶±»µÐÈË·´¶ÔÊǺÃʶø²»ÊÇ»µÊ¡·£¨Ò»¾Å
\ No newline at end of file
diff --git a/tests/IO/encoding004.hs b/tests/IO/encoding004.hs
new file mode 100644 (file)
index 0000000..1819df6
--- /dev/null
@@ -0,0 +1,107 @@
+import System.IO\r
+import System.Directory\r
+import Data.Char\r
+import System.Process\r
+import Control.Monad\r
+import qualified Data.ByteString as BS\r
+import System.Environment\r
+import System.Exit\r
+import System.FilePath\r
+import Data.Maybe\r
+import qualified Data.Map as M\r
+import GHC.Foreign\r
+import Control.Exception\r
+\r
+\r
+decode :: TextEncoding -> BS.ByteString -> IO (Either SomeException String)\r
+decode enc bs = try $ BS.useAsCStringLen bs $ peekCStringLen enc\r
+\r
+encode :: TextEncoding -> String -> IO (Either SomeException BS.ByteString)\r
+encode enc cs = try $ withCStringLen enc cs $ BS.packCStringLen\r
+\r
+decodeEncode :: TextEncoding -> BS.ByteString -> IO (Either SomeException BS.ByteString)\r
+decodeEncode enc bs = decode enc bs `bind` encode enc\r
+\r
+encodedecode :: TextEncoding -> String -> IO (Either SomeException String)\r
+encodedecode enc bs = encode enc bs `bind` decode enc\r
+\r
+bind mx fxmy = do\r
+    ei_e_cs <- mx\r
+    case ei_e_cs of\r
+        Left e   -> return (Left e)\r
+        Right cs -> fxmy cs\r
+\r
+\r
+main :: IO ()\r
+main = forM_ [ ("CP936",  2, "CP936",      Just "CP936-UTF8")  -- Representative (roundtrippable) DBCS\r
+             , ("CP1251", 1, "CP1251",     Just "CP1251-UTF8") -- Representative SBCS\r
+             , ("UTF-8",  4, "CP936-UTF8", Nothing)            -- Sanity check\r
+             ] $ \(enc_name, max_byte_length, file, mb_utf8_file) -> do\r
+    putStrLn $ "== " ++ enc_name\r
+\r
+    let fp = "encoded-data" </> file <.> "txt"\r
+    enc <- mkTextEncoding enc_name\r
+    bs <- BS.readFile fp\r
+    \r
+    -- In a DBCS you should never fail to encode truncated input for two consecutive truncation points,\r
+    -- assuming that the input file is actually error free:\r
+    testTruncations enc max_byte_length bs\r
+\r
+    -- Should be able to roundtrip arbitrary rubbish, as long as we use the right encoding\r
+    roundtrip_enc <- mkTextEncoding (enc_name ++ "//ROUNDTRIP")\r
+    testRoundtripping roundtrip_enc bs\r
+\r
+    -- Just check that we actually decode to the right thing, for good measure\r
+    case mb_utf8_file of\r
+      Nothing -> return ()\r
+      Just utf8_file -> do\r
+        utf8_bs <- BS.readFile ("encoded-data" </> utf8_file <.> "txt")\r
+        Right expected <- decode utf8 utf8_bs\r
+        Right actual   <- decode enc  bs\r
+        unless (expected == actual) $ do\r
+            putStrLn (bsDiff 0 actual expected)\r
+\r
+forTruncations :: BS.ByteString -> (BS.ByteString -> IO a) -> IO [a]\r
+forTruncations bs f = forSplits bs $ \before _ -> f before\r
+\r
+forSplits :: BS.ByteString -> (BS.ByteString -> BS.ByteString -> IO a) -> IO [a]\r
+forSplits bs f = forM [(800 * block) + ix | block <- [0..len `div` 800], ix <- [0..100]] $ \i -> uncurry f (BS.splitAt i bs)\r
+    where len = BS.length bs\r
+\r
+testTruncations :: TextEncoding -> Int -> BS.ByteString -> IO ()\r
+testTruncations enc max_byte_length bs = do\r
+    failures <- fmap catMaybes $ forTruncations bs $ testTruncation enc\r
+\r
+    let failure_map = M.fromList failures\r
+    forM_ failures $ \(i, e) -> do\r
+        let js = [i+1..i+(max_byte_length - 1)]\r
+        case sequence (map (`M.lookup` failure_map) js) of\r
+            Nothing -> return ()\r
+            Just es -> putStrLn ("Failed on consecutive truncated byte indexes " ++ show (i:js) ++ " (" ++ show (e:es) ++ ")")\r
+\r
+testTruncation :: TextEncoding -> BS.ByteString -> IO (Maybe (Int, SomeException))\r
+testTruncation enc expected = do\r
+        --putStr (show i ++ ": ") >> hFlush stdout\r
+        ei_e_actual <- decodeEncode enc expected\r
+        case ei_e_actual of\r
+            Left  e      -> return (Just (BS.length expected, e))\r
+            Right actual | expected /= actual -> error $ "Mismatch on success when truncating at byte index " ++ show (BS.length expected)\r
+                         | otherwise          -> return Nothing\r
+\r
+testRoundtripping :: TextEncoding -> BS.ByteString -> IO ()\r
+testRoundtripping roundtrip_enc bs = void $ forSplits bs $ \before after -> do\r
+    let expected = before `BS.append` (fromIntegral (BS.length before `mod` 256) `BS.cons` after)\r
+    Right actual <- decodeEncode roundtrip_enc expected\r
+    when (actual /= expected) $ do\r
+        let i_str = show (BS.length before)\r
+        putStrLn $ "Failed to roundtrip given mutant byte at index " ++ i_str ++ " (" ++ bsDiff 0 (BS.unpack actual) (BS.unpack expected) ++ ")"\r
+        -- Possibly useful for debugging porpoises:\r
+        --BS.writeFile (i_str ++ ".expected") expected\r
+        --BS.writeFile (i_str ++ ".actual")   actual\r
+\r
+bsDiff :: (Show a, Eq a) => Int -> [a] -> [a] -> String\r
+bsDiff _ [] [] = error "bsDiff"\r
+bsDiff _ [] bs = "actual " ++ show (length bs) ++ " elements shorter than expected"\r
+bsDiff _ as [] = "expected " ++ show (length as) ++ " elements shorter than actual"\r
+bsDiff i (a:as) (b:bs) | a == b    = bsDiff (i + 1) as bs\r
+                       | otherwise = show a ++ " /= " ++ show b ++ " at index " ++ show i\r
diff --git a/tests/IO/encoding004.stdout b/tests/IO/encoding004.stdout
new file mode 100644 (file)
index 0000000..9c05f4e
--- /dev/null
@@ -0,0 +1,3 @@
+== CP936
+== CP1251
+== UTF-8