. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
вн<strong>е</strong>шний вид символов<br />
Мн<strong>е</strong> н<strong>е</strong> нравится, что когда я открываю срайл, в который<br />
был записан объ<strong>е</strong>кт, я вижу какой-то мусор. Посл<strong>е</strong> записи<br />
колоды в вид<strong>е</strong> набора строк я открывала файл в прилож<strong>е</strong>нии<br />
Блокнот и спокойно <strong>е</strong>го читала. Мн<strong>е</strong> казалось, что в С # я должна<br />
— I б<strong>е</strong>з пробл<strong>е</strong>м понимать вс<strong>е</strong>, что д<strong>е</strong>лаю.<br />
С <strong>е</strong>риализованны <strong>е</strong> объ<strong>е</strong>кты записы ваю тся в двоичном<br />
ф ормат<strong>е</strong>.<br />
О н и к о м п а к тн ы . П о э то м у вы м ож <strong>е</strong>т<strong>е</strong> расп ознать с тр о к и , о тк р ы в<br />
ф айл с с<strong>е</strong> р и а л изованны м объ<strong>е</strong>ктом : в<strong>е</strong>дь наибол<strong>е</strong><strong>е</strong> к о м п а к тн ы й<br />
сп о со б и х записи в ф айл — и м <strong>е</strong> н н о в вид<strong>е</strong> стр о к. Н о писа ть в таком<br />
вид<strong>е</strong> чи сл а н<strong>е</strong> им <strong>е</strong><strong>е</strong>т смысла. Л ю б о <strong>е</strong> ч и сл о т и п а i n t м о ж н о<br />
с о х р а н и т ь в ч <strong>е</strong> т ы р <strong>е</strong> х байтах. П о э то м у б ы л о бы стр а н н о хр а н и т ь ,<br />
к прим <strong>е</strong>ру, ч и сло 49 369 144 ка к 8-сим вольную строку, удобную<br />
для ч т <strong>е</strong> н и я . Э то бы ла бы пустая тр а та м<strong>е</strong>ста!<br />
с Д <strong>е</strong> н о й<br />
Для пр<strong>е</strong>дставл<strong>е</strong>ния символов или строк в вид<strong>е</strong> байтов в .NET использу<strong>е</strong>тся Юникод.<br />
К счастью, в Windows им<strong>е</strong><strong>е</strong>тся инструм<strong>е</strong>нт, позволяющий понять принцип работы Юникода. Откройт<strong>е</strong><br />
прилож<strong>е</strong>ни<strong>е</strong> Character Мар (выб<strong>е</strong>рит<strong>е</strong> в м<strong>е</strong>ню Start команду Run. вв<strong>е</strong>дит<strong>е</strong> «charmap.exe» и щ<strong>е</strong>лкнит<strong>е</strong> на<br />
кнопк<strong>е</strong> ОК).<br />
П р и взгляд<strong>е</strong> на сим волы из р а зн ы х я зы ков ста н о в и тся п о н я т н о , ско л ь ко и н ф о р м а ц и и тр<strong>е</strong>бу<strong>е</strong>тся<br />
записать в ф айл для со х р а н <strong>е</strong> н и я т<strong>е</strong>кста. П о э то м у .N E T п р <strong>е</strong> о б р а з у <strong>е</strong> т вс<strong>е</strong> с т р о к и и сим волы в ф орм<br />
ат Ю н и к о д . Б <strong>е</strong>рутся д а н н ы <strong>е</strong> (н а п р и м <strong>е</strong> р , буква Н ) и п р <strong>е</strong>образую тся в б а й ты (ч и с л о 72). В<strong>е</strong>дь буквы ,<br />
ц и ф р ы , п <strong>е</strong> р <strong>е</strong> ч и сл <strong>е</strong> н и я и д р уги <strong>е</strong> д а н н ы <strong>е</strong> х р а н я тс я в п а м я ти и м <strong>е</strong> н н о в вид<strong>е</strong> б айтов. У знать ж <strong>е</strong> соотв<strong>е</strong>т^<br />
ств и <strong>е</strong> м<strong>е</strong>жду числ а м и и сим волам и м о ж н о в Т аблиц<strong>е</strong> сим волов (C h a ra c te r М а р ).<br />
Выд<strong>е</strong>рит<strong>е</strong> в с п и <br />
ск<strong>е</strong> шрифтов Anal и<br />
прокрутит<strong>е</strong> вниз до<br />
<strong>е</strong>вр<strong>е</strong>йского алфавита.<br />
Щ<strong>е</strong>лчком выб<strong>е</strong>рит<strong>е</strong><br />
символ Shin.<br />
Посл<strong>е</strong> выбора символа в<br />
строк<strong>е</strong> состояния появится<br />
<strong>е</strong>го код. Д ля буквы<br />
Shin ~ это число OSE4<br />
о ш<strong>е</strong>стнадцат<strong>е</strong>ричной<br />
сист<strong>е</strong>м<strong>е</strong> счисл<strong>е</strong>ния.<br />
Д ля пр<strong>е</strong>образования<br />
получ<strong>е</strong>нного знач<strong>е</strong>ния<br />
в д<strong>е</strong>сятичную сист<strong>е</strong>му<br />
воспользуйт<strong>е</strong>сь калькулятором<br />
Windows в р<strong>е</strong>жим<strong>е</strong><br />
Scientific.<br />
в Chaiacttr Мар<br />
Pont!<br />
О feW<br />
ЙФ<br />
(h 4 j J b fb H j H j G G Ъ Ъ G e Ц Q q w<br />
д<br />
W V<br />
Л<br />
A<br />
Ч--<br />
V A. 6<br />
w Л, V 0<br />
0<br />
A Л A Л<br />
у V ' V •w'<br />
д 0 У w W 0 0<br />
■ Л, 1 0 t 9 H 3. я T<br />
IN Ü t 1 Э ■? □ n i Л о M n Э Y<br />
« '<br />
><br />
)i_ i .<br />
Л.<br />
ё w Л<br />
i p f S’ 1 i j ] iS i г Cl ih<br />
п<br />
т r £ a 1 у A % z , ♦<br />
J<br />
Hehiewletar<br />
р -<br />
____ ^<br />
Юникод — это<br />
индустриальный<br />
стандарт. Вы<br />
мож<strong>е</strong>т<strong>е</strong> пос<strong>е</strong>т<br />
ит ь сайт h ttp ://<br />
unicode.org/<br />
434 глава 9