14.02.2017 Views

. Стиллмен, Дж. Грин - Изучаем 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!