• يۇنىكود(unicode) دېگەن نىمە؟ - [كومپيۇتېر بىلىملىرى]2008-07-31

    يۇنىكود (unicode) كومپيۇتىردا قوللىنىدىغان بىرخىل ھەرپ بەلگىلەر كودى .ئۇنىڭدا ھەربىر خىل تىلنىڭ ھەر بىر ھەرىپ - بەلگىسگە بىرلىككە كەلگەن ھەمدە بىردىن بىر بولغان ئىككى تەرتىپلىك رەت كودى بېكىتىلگەن بولۇپ ئوخشاش بولمىغان كومپيۇتېر ۋە ئوخشاش بولمىغان يېزىقلارئارائايلاندۇرۇش ۋە بىر تەرەپ قىلىش تەلىپىنى قاندۇرالايدۇ. Unicodeنىڭ كودلاشتۇرۇلشى ۋە ئەمەلگە ئاشۇرۇلىشى ئومومەن ئېيىتىقاندا Unicode تەھرىرلەش سېستىمىسى كودلاشتۇرۇش شەكلى ۋە ئەمەلگە ئاشۇرۇش شەكلىدىن ئىبارەت ئىككى قاتلامغا بۆلىنىدۇ. 1. كودلاشتۇرۇش(编码) شەكلى . Unicode نىڭ كودلاشتۇرۇش شەكلى ISO10646 نىڭ ئورتاق ئىشلىتىلىۋاتقان ھەرىپ- بەلگىلەر ئۇقۇمىغان ماس كىلىدۇ. نۆۋەتتە ئەمەلگە ئاشۇرۇشقا ئىشلىتىلىۋاتقان Unicode نەشىرى UCS-2 گە ماس كېلىدىغان بولۇپ 16ئۆلچەملىك كودلاشتۇرۇش بوشلۇقىنى (编码空间) ئىشلىتىدۇ . دېمەكچى ،ھەربىر بەلگە 2 بايىت بوشلۇق ئىگەللەيدۇ . مۇشۇ نەزىرىيە بويىچە ئېلىپ ئېيىتقاندا ئەڭ كۆپ بولغاندا جەمئى 65536( 2 نىڭ 16 ىنچى دەرىجىسى ) دانە بەلگىنى ئىپادىلەشكە بولىدۇ . ھەر خىل تىللارنىڭ ئىشلىتىش تەلىپىنى ئاساسى جەھەتتىن قاندۇرىدۇ . نۆۋەتتىكى Unicode نەشىرى تېخى 16 ئۆلچەملىك كودلاشتۇرۇش بوشلۇقىنى تولدۇرغىنى يوق . كۆپ قسىم بوشلۇق ئالاھىدە ئىشلىتىلىش شەكلىدە قالدۇرۇلغان . يۇقىردا ئېيتىلغان 16 ئۆلچەملىك Unicode لۇق بەلگىلەر ئاساسى كۆپ خىل يېزىقلىق تەكشىلىكنى ( Basic Multilingual Plane قىسقارتىپ BMP دىيىلىدۇ ) تەشكىل قىلىدۇ . ئەڭ يېڭى (كەڭ دائىرىدە ئەمىللەشمىگەن ) بولغان Unicode نەشىرىدە 16 دانە ياردەمچى تەكشىلىك ئېنىقلانغان . ئىككىسىنى قوشقاندا ئەڭ ئاز بولغاندا 21 ئۆلچەملىك كودلاشتۇرۇش بوشلۇقىنى ئىگەللەيدۇ . ئەمما ئەمەلىيەتتە ياردەمچى تەكشىلىك ھەرىپ - بەلگىلىرى يەنىلا 4 بايىتلىق كودلاشتۇرۇش بوشلۇقىنى ئىگەللەيدۇ ، UCS-4 بىلەن بىردەك . UCS-4 بولسا تېخىمۇ چوڭ بولغان تولۇق تولدۇرۇلمىغان 31 ئۆلچەملىك ھەرىپ - بەلگىلەر توپلىمى . باش ئورۇن (首位) باشتىن ئاخىرى 0 نى قوشقاندا 32 ئۆلچەم بولىدۇ . يەنى 4 بايىت . نەزىريە جەھەتتىن 2147483648 ( 2 نىڭ 32 ىنچى دەرىجىسى ) دانە ھەرىپ - بەلگىنى ئپادىلەپ بېرەلەيدۇ . بارلىق تىلدىكى بارلىق ھەرىپ - بەلگىنى تولۇق ئۆز ئىچىگە ئالالايدۇ . BMP ھەرىپ - بەلگىلىرىنىڭ Unicode لۇق تەھرىرلىنىشى U+hhhh شەكلىدە بولىدۇ . ئىپادىدىكى ھەربىر h بىر دانە ئۆلچەملىك سانلار خانىسىنى ئىپادىلەيدۇ . UCS-2 كودلاشتۇرۇش شەكلى بىلەن پۈتۈنلەي ئوخشاش . ماس بولغان 4 بايىتلىق UCS-4 كودلاشتۇرۇش شەكلىنىڭ كىيىنكى ئىككى بايىتى بىردەك ئالدىنقى ئىككى بايىتىنىڭ بارلىق خانىلىرى 0 بولىدۇ . 2. ئەمەلگە ئاشۇرۇلۇش شەكلى Unicode نىڭ ئەمەلگە ئاشۇرۇلۇش شەكلى كودلاشتۇرۇش شەكلىگە ئوخشىمايدۇ . بىردانە بەلگىنىڭ Unicode لۇق تەھرىرلىنىشى بەلگىلەنگەن (يەنى ئېنىق ) بولىدۇ . ئەمما ئەمەلى يەتكۈزۈش جەريانىدا ئوخشاش بولمىغان سېستىما قاچىلانغان كومپيۇتېردىكى لاھيىلىنىشى بىردەك بولمىغانلىقتىن ، Unicode لۇق تەھرىرلەشنىڭ ئەمەلگە ئاشۇرۇلۇش شەكلىمۇ ئوغشاش بولمايدۇ . Unicode نىڭ ئەمەلگە ئاشۇرۇلۇش شەكلى Unicode ئايلاندۇرۇش فورماتى (转换格式) دەپ ئاتىلىدۇ . يەنى Unicode Translation Format قىسقارتىپ UTF دەپ ئاتىلىدۇ . مەسلەن ، بىر 7 ئۆلچەملىك ASCII ھەرىپ - بەلگىلىرىنى ئۆز ئىچىگە ئالغان Unicode لۇق ھۆججگت بولسۇن .ناۋادا ھەربىر ھەرىپ 2 بايىت بويىچە ئەسلىدىكى Unicode لۇق كودلاشتۇرۇپ توشۇش شەكلىدە توشۇلسا ئۇنىڭ بىرىنچى ھەرىپىدىكى 8 ئۆلچەم باشتىن ئاخىرى 0 بولىدۇ . بۇنداق بولغاندا خېلى كۆپ ئىسراپچىلىق كېلىپ چىقىدۇ . بۇنداق ئەھۋالغا نىسبەتەن UTF- 8 تەھرىرىنى ئىشلىتىشكە بولىدۇ . ئۇ ئاساسى 7 ئۆلچەملىك ASCII بەلگىسىنى يەنىلا 7 ئۆلچەم بويىچە ئىپادىلەپ بىر بايىت ئورۇننى ئىگەللەيدۇ . باشقا Unicode لۇق بەلگىلەر ئارلاشقان شەكىلگە دۇچ كەلگەندە ، مەلۇم خىل ھىساپلاش ئۇسۇلى بويىچە ئايلاندۇرىدۇ . ھەر بىر ھەرىپ 1-3 بايىت ئورۇننى ئىشلىتىدۇ . بىرىنچى ئورۇننى 0 ياكى 1 بىلەن پەرىقلەندۈرۈش ئۇسۇلىنى قوللىنىدۇ . بۇنداق بولغاندا 7 ئۆلچەملىك ASCII بەلگىسىنى ئاساس قىلغان غەرىب يېزىقىدىكى ھۆججەتلەرگە نىسبەتەن كود ئۇزۇنلۇقىنى خېلىلا تىجەپ قالىدۇ . (تەپسىلى بىلمەكچى بولسىڭىز UTF-8 ھەققىدىكى ماقالىنى كۆرۈڭ ) يەنە مىسال ئالساق ناۋادا Unicode تەھرىرى بىلەن بىردەك بولغان UTF -16 تەھرىرىنى ئىشلەتسەك ، ھەربىر ماس ئادېرىس ئوخشاش بولمىغانلىقتىن Macintosh قاچىلانغان كومپيۇتېر (مەسلەن ئالما كومپيۇتېرلىرى ) ۋە PC كومپيۇتېرلىرىدىكى يېزىق تەرتىپىگە بولغا چۈشەنچە بىردەك بولمايدۇ . بۇ ۋاقىتتا ئوخشاش بىر يېزىق ئېقىمى ئوخشاش بولمىغان چۈشەنچە پايدا قىلىشى مۇمكىن . مەسلەن ، تەھرىرى U+594E بولغان ھەرىپ بىلەن تەھرىرى U+4E59بولغان ھەرىپتە ئارلاشتۇرۋېتىش كېلىپ چىقىشى مۇمكىن . شۇنىڭ بىلەن UTF-16 تەھرىرىنىڭ ئەمەلگە ئاشۇرۇلۇش شەكلى چوڭ قويرۇقلۇق تەرتىپ (大尾庿 ۋە كىچىك قۇيرۇقلۇق تەرتىپ (小尾庿 ئۇقۇمى ھەمدە BOM(Byte Order Mark) ھەل قىلىش ئۇسلۇبىنى ئىشلىتىدۇ . ئۇندىن باشقا Unicode نىڭ ھەل قىلىش ئۇسلۇبىدىن يەنە UTF-32 , SCSU , CSCU-8 , Punycode , UTF-7 قاتارلىقلار بار . بۇ ئەمەلگە ئاشۇرۇلۇش شەكىللىرى پەقەت بىر قىسىم دۆلەت ۋە رايۇنلىرىدا ئىشلىتىلىدۇ . بەزىلىرى كەلگۈسى نىشان شەكلىگە تەۋە . نۆۋەتتە ئورتاق ئىشكىتىلىۋاتقان شەكىللىرى بولسا UTF -16 , BOM , UTF-8 قاتارلىقلار بار . windowsXP مەشخۇلات سېستىمىسى تەمىنلىگەن خاتىرە دەپتەردىكى « باشقىچە ساقلاش» دىئاگونال رامكىسىدا تۆت خىل تەھرىر شەكلىنى تاللىغىلى بولىدىغان بولۇپ Unicode بولمىغان ANSI دىن باشقا قالغان «Unicode» ، «Unicode big endian » ۋە «UTF-8» قاتارلىقلار مۇشۇ ئۈچ خىل تەھرىرلەش شەكلىگە ماس بولغان Unicode ئەمەلگە ئاشۇرۇش نۇسخىلىرىدۇر . Unicode لۇق بولمىغان مۇھىت (非Unicode环境) Unicode لۇق بولمىغان مۇھىتتا ئوخشاش بولمىغان دۆلەت ۋە رايۇنلاردا ئىشلىتىلىدىغان ھەرىپ - بەلگىلەر توپلىمى بىردەك بولمىغانلىقتىن ، ھەرىپ - بەلگىلەرنى نۇرمال كۆرسەتكىلى بولماسلىق مەسىلىسى ئاسانلا كىلىپ چىقىدۇ . مىكروسوفىت شىركىتى كود بېتى ( code page) ئالماشتۇرۇش تېخنىكىسىنى قوللىنىپ ئۆتكۈنچى خاراكتىرلىك قىسمىدا بۇ مەسىلە ھەل قىلىندى . مۇنداقچە ئېيىتقاندا بەلگىلەنگەن ئايلاندۇرۇش جەدىۋىلى ئارقىلىق Unicode لۇق بولمىغان ھەرىپ - بەلگىلەر كودىنى ئوخشاش بىر ھەرىپ بەلگىلەر سېستىمىسىغا ماس كىلىدىغان ، سېستىما ئىچكى قىسمىدا ئىشلىتىلىدىغان Unicode لۇق كود شەكلىگە ئايلاندۇردى . «语言与区域设置¿nbsp;دىن بۇ كود بېتىنى Unicode لۇق بولمىغان كود تەھرىرىنى قوللىنىدىغان كۆڭۈلدىكى كود تەھرىرى قىلىپ تاللاپ قويۇشقا بولىدۇ . مەسلەن 936 بولسا 简体中文GBK گە ماس كىلىدۇ ، 950 بولسا 正体中文Big5 كە ماس كىلىدۇ . بۇنداق ئەھۋال ئاستىدا بىر قىسىم ئنگىلىز يېزىقى بولمىغان تىللاردا ئىشلەنگەن يۇمشاق دېتال ۋە ھۆججەتلەر قالايمىغان كود بولۇپ كۆرۈنىشى مۇمكىن . تۈپ نۇقتىسىدىن ئېلىپ ئېيىتقاندا پۈتۈنلەي بىرلىككە كەلگەن كود تەھرىرىنى قوللانغاندىلا ئاندىن بۇ مەسىلىلەرنى تولۇق ھەل قىلغىلى بولىدۇ . ئەمما نۆۋەتتە بۇ مەسىلىنى ھەل قىلغىلى بولمايۋاتىدۇ . XML ۋە Unicode XML ۋە ئۇنىڭ قىسمى توپلىمى بولغان HTML بولسا UTF-8 نى ئۆلچەملىك يېزىق توملىمى قىلىپ قوللىنىدۇ . نەزىرىيە جەھەتتىن بىز ھەر خىل XML قوللايدىغان ئۆلچەملىك تور كۆرگۈچتە ھەر قانداق رايۇننىڭ يېزىقىنى كۆرسىتەلەيمىز . پەقەت شۇ كومپيۇتېردا مۇناسىپ بولغان خەت نۇسخىسى قاچىلانغان بولسا بولىدۇ . nnn#& فورماتىنى ئىشلىتىپ ئالاھىدە بەلگىلەنگەن ھەرىپ - بەلگىلەرنى كۆرسىتەلەيمىز . nnn مۇشۇ ھەرىپ - بەلگىلەردىكى ئون ئۆلچەملىك (十进刿 يۇنىكود كودىنى كۆرسىتىدۇ . ناۋادا 16ئۆلچەملىك كود شەكلىنى قوللانساق ، تەھرىرلەشتىن ئاۋال x نى قوشۇۋەتسەكلا بولىدۇ . ئەمما بىر قىسىم Unicode نەشىرىنىڭ تەرەققى قىلىشى سەۋەبلىك كۆپ قىسىم تور كۆرگۈچلەر پەقەت UCS-2 ھەرىپ - بەلگىلەر توپلىمىنى كۆرسىتەلەيدۇ . يەنى ھازىر ئىشلىتىۋاتقان Unicode نەشىرىدىكى بىر كىچىك قىسمى توپلام . ئەسەر مەنبەسى:دەرسلىك قانىلى ئاپتۇرى:قاينام رەتلەنگەن ۋاقتى:2008-6-21

    收藏到:Del.icio.us

发表评论

您将收到博主的回复邮件
记住我