កុំព្យូទ័រ, ការសរសេរកម្មវិធី
UTF-8 - សំណុំតួអក្សរ
យូនីកូដសំណុំតួអក្សរដែលមានស្រាប់គាំទ្រស្ទើរតែទាំងអស់។ ទម្រង់ល្អបំផុតនៃការអ៊ិនកូដសំណុំតួអក្សរយូនីកូដជាការអ៊ិនកូដ UTF-8 ។ ភាពឆបគ្នាជាមួយវាគាំទ្រ ASCII, ភាពធន់ទ្រាំទៅនឹងការបង្ខូចទ្រង់ទ្រាយនៃទិន្នន័យប្រសិទ្ធភាពនិងភាពងាយស្រួលនៃការដំណើរការ។ ប៉ុន្តែរឿងដំបូងជាលើកដំបូង។
សំណុំបែបបទដែលបានសរសេរកូដ
កុំព្យូទ័រមិនត្រឹមតែប្រតិបត្តិការវត្ថុដែលជាលេខអរូបីគណិតវិទ្យាព្រមទាំងបន្សំនៃគ្រឿងនៃការផ្ទុកនិងការដោះស្រាយទិន្នន័យទំហំថេរ - បៃនិងពាក្យ 32 ប៊ីត។ ស្ដង់ដារត្រូវតែយកនេះអ៊ីនកូដទៅក្នុងគណនីនៅពេលដែលកំណត់ពីរបៀបដើម្បីបង្ហាញ ចំនួននៃតួអក្សរ។
នៅក្នុងប្រព័ន្ធកុំព្យូទ័រ, ចំនួនគត់ដែលបានរក្សាទុកនៅក្នុងសតិនៃកោសិកា 8 ប៊ីត (1 បៃ), 16 ឬ 32 ប៊ីត។ សំណុំបែបបទដែលបានកំណត់ការអ៊ិនកូដគ្នាយូនីកូដដែលលំដាប់នៃកោសិកាការចងចាំមានចំនួនគត់ដែលត្រូវគ្នាទៅជានិមិត្តរូបពិសេសមួយ។ ក្នុងនោះមានទម្រង់ស្តង់ដារនៃការសរសេរកូដចំនួនបីផ្សេងគ្នាតួអក្សរយូនីកូដ 8, 16 និង 32 ប៊ីតប្លុកមាន។ ដូច្នោះហើយពួកគេត្រូវបានគេស្គាល់ថាជា UTF-8-16 និងជា UTF-32 ជា UTF ។ ឈ្មោះជា UTF តំណាងឱ្យការផ្លាស់ប្តូរទ្រង់ទ្រាយយូនីកូដ។ គ្នានៃទម្រង់ទាំងបីនៃការអ៊ិនកូដតួអក្សរយូនីកូដមធ្យោបាយគឺតំណាងស្មើគ្នាមានគុណសម្បត្តិនៅក្នុងកម្មវិធីនានា។
ការអ៊ីនគ្រីបទិន្នន័យដែលអាចត្រូវបានប្រើដើម្បីតំណាងឱ្យតួអក្សរទាំងអស់នៅក្នុងស្ដង់ដារយូនីកូដ។ ដូច្នេះពួកគេគឺជាការឆបគ្នាយ៉ាងពេញលេញក្នុងការដំណោះស្រាយសម្រាប់ភាពខុសគ្នានៃហេតុផលមួយដោយប្រើភាពខុសគ្នានៃការសរសេរកូដទម្រង់។ សរសេរកូដនីមួយយ៉ាងច្បាស់អាចត្រូវបានបម្លែងទៅជាការណាមួយនៃការពីរផ្សេងទៀតដោយមិនបាត់បង់ទិន្នន័យ។
គោលការណ៍ nenalozheniya
គ្នានៃការអ៊ិនកូដទម្រង់យូនីកូដអភិវឌ្ឍនៅក្នុងទិដ្ឋភាពនៃការជាន់គ្នាមិនមែនជាផ្នែក។ ឧទាហរណ៍, ប្រព័ន្ធប្រតិបត្តិការ Windows-932 បង្កើតតួអក្សរមួយឬពីរបៃនៃកូដ។ ប្រវែងលំដាប់អាស្រ័យលើបៃដំបូង, ដូច្នេះតម្លៃបៃនាំមុខគេលើស៊េរីនៃពីរនិង disjointed បៃបៃលីវ។ ទោះយ៉ាងណាតម្លៃនៃបៃតែមួយនិងតាមពីក្រោយលំដាប់បៃអាចនឹងស្របពេល។ នេះមានន័យថាឧទាហរណ៍ថាការស្វែងរកតួអក្សរ D (លេខកូដ 44) អាចរកវាបានច្រឡំចូលទៅក្នុងផ្នែកទីពីរនៃលំដាប់នៃតួអក្សរពីរបៃ "D" នេះ (លេខកូដ 84 44) ។ ដើម្បីស្វែងរកលំដាប់ត្រឹមត្រូវកម្មវិធីនេះគួរតែយកទៅក្នុងគណនីបៃមុន។
ស្ថានភាពនេះគឺមានភាពស្មុគស្មាញបើការប្រកួតមុខនិងខាងក្រោយបៃ។ នេះមានន័យថានៅក្នុងគោលបំណងដើម្បីយកចេញភាពមិនច្បាស់លាស់នេះនឹងក្លាយជាការរកមើលបញ្ច្រាសមុនពេលឈានដល់ការចាប់ផ្តើមនៃអត្ថបទឬលំដាប់កូដតែមួយគត់។ នេះគឺជាការមិនត្រឹមតែមានប្រសិទ្ធភាពប៉ុន្តែមិនត្រូវបានការពារពីកំហុសដែលអាចធ្វើបាន, ចាប់តាំងពីការតែមួយគត់បៃខុសទៅនឹងអត្ថបទពេញបានក្លាយទៅជាអាន។
ការបម្លែងជាទ្រង់ទ្រាយយូនីកូដចៀសវាងបញ្ហានេះដោយសារតែតម្លៃនៃការនាំមុខគេទាញ, និងអង្គភាពតែមួយនៃការផ្ទុកគឺមិនមានពដូចគ្នា។ នេះធានាថាទាំងអស់សម្រាប់ការស្វែងរកយូនីកូដនិងការប្រៀបធៀបលទ្ធផលដែលមានការភាន់ច្រលំមិនដែលផ្តល់ឱ្យដោយសារតែការចៃដន្យនៃផ្នែកផ្សេងគ្នានៃកូដនៃតួអក្សរនេះ។ ការពិតដែលថាទម្រង់នៃការសរសេរកូដទាំងសង្កេតមើល nenalozheniya គោលការណ៍នេះប្លែកពីការអ៊ិនកូដពហុបៃអាស៊ីខាងកើតផ្សេងទៀត។
ទិដ្ឋភាពមួយផ្សេងទៀត nonintersection អ៊ិនកូដយូនីកូដ គឺថាតួអក្សរនីមួយមានព្រំដែនដែលបានកំណត់យ៉ាងច្បាស់។ នេះលុបបំបាត់តម្រូវការក្នុងការវិភាគមួយចំនួនមិនកំណត់និមិត្តសញ្ញាមុន។ លក្ខណៈពិសេសនេះត្រូវបានគេហៅថាពេលខ្លះការអ៊ីនកូដដោយខ្លួនឯងថិរវេលា។ កាឡៃនៃគ្រឿងកាឡៃកូដនឹងបង្ហាញបានតែមួយនៃតួអក្សរមួយតួអក្សរដែលនៅជុំវិញនិងនៅតែមាននៅដដែល។ នៅក្នុងការបម្លែងទ្រង់ទ្រាយ 8 ប៊ីតប្រសិនបើពិន្ទុព្រួញដើម្បីបៃដែលបានចាប់ផ្តើមជាមួយ 10xxxxxx (នៅក្នុងកូដប្រព័ន្ធគោលពីរ) ដើម្បីស្វែងរកការចាប់ផ្តើមនៃនិមិត្តសញ្ញានេះគឺត្រូវបានទាមទារសម្រាប់ការផ្លាស់ប្តូរមួយទៅបីបញ្ច្រាស។
ស្ថិរភាព
យូនីកូដសមាគមគាំទ្រយ៉ាងពេញលេញទាំង 3 ទម្រង់នៃការអ៊ិនកូដ។ វាជាការសំខាន់មិនមែនដើម្បីប្រឆាំងនឹង UTF-8 និងយូនីកូដ, ជាទ្រង់ទ្រាយការបម្លែងទាំងអស់ - ស្មើភាពគ្នាទម្រង់ត្រឹមត្រូវនៃការតំណាងនៃស្តង់ដារតួអក្សរអ៊ិនកូដយូនីកូដ។
បៃតំរង់ទិស
ដើម្បីតំណាងឱ្យតួអក្សរ UTF-32 នឹងត្រូវបានអង្គភាពលេខកូដ 32 ប៊ីតដែលស្របពេលជាមួយនឹងលេខកូដយូនីកូដ។ ជា UTF-16 - មួយទៅពីរគ្រឿង 16 ប៊ីត។ UTF-8 ប្រើបានរហូតដល់ទៅ 4 បៃ។
ការអ៊ិនកូដ UTF-8 ត្រូវបានរចនាឡើងដើម្បីឱ្យឆបគ្នាជាមួយនឹងប្រព័ន្ធដែលមានមូលដ្ឋានបៃ ASCII ដែលចង្អុលទិសទៅ។ ភាគច្រើនបំផុតនៃកម្មវិធីដែលមានស្រាប់និងការអនុវត្តន៍នៃបច្ចេកវិទ្យាជាយូរមកហើយពឹងផ្អែកលើការតំណាងនៃតួអក្សរដែលនៅក្នុងលំដាប់នៃការបៃមួយ។ ពិធីការច្រើនអាស្រ័យទៅលើការប្រែប្រួលនៃការ អ៊ីនកូដ ASCII នេះ និងប្រើទាំងចៀសវាងគ្រប់គ្រងតួអក្សរពិសេស។ វិធីសាមញ្ញដើម្បីសម្របខ្លួនទៅនឹងស្ថានភាពយូនីកូដអាចធ្វើបានដោយប្រើកូដ 8 ប៊ីតសម្រាប់តំណាងឱ្យតួអក្សរយូនីកូដណាដែលមានតំលៃស្មើ ASCII តួអក្សរឬតួអក្សរវត្ថុបញ្ជាមួយ។ ដល់ទីបញ្ចប់នេះហើយវាជាការអ៊ិនកូដ UTF-8 ។
ប្រវែងអថេរ
UTF-8 - ការសរសេរកូដនៃប្រវែងអថេរដែលមាន 8 ប៊ីតគ្រឿងផ្ទុកប៊ីតខាងលើនេះដែលបង្ហាញដែលជាផ្នែកមួយនៃលំដាប់បៃបុគ្គលនីមួយនោះជាកម្មសិទ្ធិ។ មួយជួរតម្លៃបែងចែកទៅជាធាតុដំបូងនៃលំដាប់លេខកូដនេះមួយផ្សេងទៀត - សម្រាប់បន្ទាប់។ នេះផ្ដល់នូវការអ៊ិនកូដ disjointed ។
ASCII
កូដ ASCII ការអ៊ិនកូដ UTF-8 គឺត្រូវបានគាំទ្រពេញលេញ (0x00-0x7F) ។ នេះមានន័យថាតួអក្សរយូនីកូដ U +-U + 0000 ត្រូវបានបម្លែងទៅជា 007F តែ 0x00-0x7F បៃ UTF-8 និងដូច្នេះក្លាយទៅជាមិនមានអ្វីប្លែកពី ASCII នេះ។ លើសពីនេះទៀតដើម្បីជៀសវាងភាពមិនច្បាស់លាស់, តម្លៃ 0x00-0x7F មិនត្រូវបានប្រើច្រើនជាងណាមួយនៅក្នុងតែបៃជាតំណាងតួអក្សរយូនីកូដរបស់។ ដើម្បីអ៊ិនកូដនិមិត្តសញ្ញាជាជាងប្រើ ASCII neideograficheskih ដោយប្រើលំដាប់នៃការបៃពីរ។ និមិត្តសញ្ញារាប់ U +-U + 0800 FFFF ត្រូវបានតំណាងដោយបីបៃ, និងលេខកូដបន្ថែមទៀតជាមួយនឹងជាង U + FFFF តម្រូវឱ្យបៃបួន។
ស្វ៊ែរនៃកម្មវិធី
ការអ៊ិនកូដ UTF-8 ជាធម្មតាត្រូវបានផ្ដល់ចំណូលចិត្តក្នុងពិធីការរបស់ HTML, និងដូចជា។
XML ដែលបានក្លាយជាស្ដង់ដារជាលើកដំបូងជាមួយការគាំទ្រពេញលេញសម្រាប់ការអ៊ិនកូដ UTF-8 ។ អង្គការស្ដង់ដារផងដែរបានផ្ដល់អនុសាសន៍វា។ បញ្ហាការគាំទ្រនៅក្នុងអាសយដ្ឋាន URL ដែលនោះគឺជាការខុសគ្នាពីតួអក្សរដែល-ASCII នេះត្រូវបានដោះស្រាយនៅពេលដែលសម្ព័ន្ធនិងក្រុម W3C វិស្វកម្ម IETF បានមកដល់កិច្ចព្រមព្រៀងស្តីពីកូដនៃការទាំងអស់ជា អាសយដ្ឋាន URL ដែលបាន ទាំងស្រុងនៅក្នុង UTF-8 ។
ភាពឆបគ្នាជាមួយនឹងការផ្លាស់ប្តូរទៅជា ASCII សម្របសម្រួលកម្មវិធីថ្មីនេះ។ ជាមួយនឹងការ UTF-8 ធ្វើការកម្មវិធីនិពន្ធអត្ថបទច្រើនបំផុត, រួមទាំងការ JEdit, Emacs, BBEdit, Eclipse, និង "Notepad" ប្រព័ន្ធប្រតិបត្តិការ Windows ។ មិនមានសំណុំបែបបទដែលផ្សេងទៀតនៃការអ៊ិនកូដយូនីកូដមិនអាចមានអំនួតតាមរយៈនៃការគាំទ្រពីឧបករណ៍ដូចនេះ។
សរសេរកូដប្រយោជន៍នោះគឺថាវាមានលំដាប់នៃការបៃមួយ។ ជាមួយនឹងខ្សែអក្សរ UTF-8 គឺជាការងាយស្រួលក្នុងការធ្វើការនៅក្នុងការសរសេរកម្មវិធី C និងភាសាផ្សេងទៀត។ នេះគឺជាទម្រង់នៃការអ៊ិនកូដប៉ុណ្ណោះ, លំដាប់មិនតម្រូវឱ្យមានស្លាកបៃ Bom ឬការប្រកាសសំណុំតួអក្សរមួយនៅក្នុង XML ។
ធ្វើសមកាលកម្ម-ដោយខ្លួនឯង
នៅក្នុងបរិស្ថានដែលប្រើនិមិត្តសញ្ញា 8 ប៊ីតនៃដំណើរការនេះបើប្រៀបធៀបនឹងសំណុំតួអក្សរច្រើនបៃផ្សេងទៀត, ជា UTF-8 មានគុណសម្បត្តិដូចខាងក្រោម:
- លំដាប់លេខកូដបៃទីមួយមានអំពីប្រវែងរបស់ខ្លួន។ នេះបង្កើនប្រសិទ្ធភាពនៃការស្វែងរកដោយផ្ទាល់។
- ស្វែងរកការចាប់ផ្តើមនៃអក្សរកាត់និមិត្តសញ្ញាដែលជាបៃចាប់ផ្តើមត្រូវបានកំណត់ទៅជាជួរថេរនៃតម្លៃ។
- គ្មានតម្លៃបៃប្រសព្វ។
ប្រៀបធៀបអត្ថប្រយោជន៍
ការអ៊ិនកូដ UTF-8 គឺបង្រួម។ ប៉ុន្តែនៅពេលដែលបានប្រើសម្រាប់ការអ៊ិនកូដតួអក្សរអាស៊ីខាងកើត (ចិន, ជប៉ុន, កូរ៉េ, ប្រទេសចិនដោយការប្រើសញ្ញាការសរសេរ) ត្រូវបានគេប្រើលំដាប់ទី 3 បៃ។ ដូចគ្នានេះផងដែរអ៊ិនកូដ UTF-8 គឺទាបជាងទៅនឹងទម្រង់ផ្សេងទៀតនៃការសរសេរកូដល្បឿនដំណើរការ។ ប្រព័ន្ធគោលពីរមួយខ្សែតម្រៀបលទ្ធផលដូចគ្នានៅផលិតប្រព័ន្ធគោលពីរដែលបានតម្រៀបដែលជាយូនីកូដ។
គម្រោងការអ៊ិនកូដតួអក្សរ
គម្រោងការអ៊ិនកូដតួអក្សរអ៊ិនកូដនិមិត្តសញ្ញារួមទម្រង់បែបបទនិងវិធីសាស្រ្តសម្រាប់ការបៃគ្រឿងកូដទីតាំង។ ដើម្បីកំណត់ស្តង់ដារគម្រោងការអ៊ិនកូដយូនីកូដផ្ដល់នូវការប្រើប្រាស់នៃសញ្ញាលំដាប់បៃដំបូង (សញ្ញាគោលបំណង Bom, បៃ) បាន។
ពេល Bom ក្នុងស្លាកលក្ខណៈពិសេសជា UTF-8 ដែលត្រូវបានកំណត់តែប៉ុណ្ណោះដោយសេចក្ដីយោងទៅនឹងការប្រើប្រាស់ទម្រង់នៃការសរសេរកូដនោះទេ។ មានបញ្ហាក្នុងការកំណត់ UTF-8 ចំណងជើងមាន, ដូចជាទំហំរបស់វាគឺអង្គភាពអ៊ិនកូដបៃមួយ។ ការប្រើ Bom សម្រាប់ទម្រង់នៃការសរសេរកូដនេះគឺត្រូវបានមិនត្រូវបានទាមទារឬផ្ដល់អនុសាសន៍។ Bom អាចកើតមានឡើងនៅក្នុងអត្ថបទនេះនឹងត្រូវបានបម្លែងពីកូដផ្សេងទៀតដោយប្រើសញ្ញាលំដាប់បៃឬហត្ថលេខាសម្រាប់ការអ៊ិនកូដ UTF-8 ។ គឺជាលំដាប់នៃ 3 បៃសាលា EF BB 16 16 16 បំបៅកូនដោយទឹកដោះម្តាយ។
តើធ្វើដូចម្តេចដើម្បីកំណត់ការអ៊ិនកូដ UTF-8
នេះ ជា HTML ការសរសេរកូដ UTF-8 ត្រូវបានដំឡើងជាមួយនឹងកូដដូចខាងក្រោម:
ប្រមុខ
: http-equiv មេតា = "មាតិកាប្រភេទ" មាតិកា = "text / html; charset = UTF-8" ˃
ក្នុង PHP អ៊ិនកូដ UTF-8 ត្រូវបានកំណត់ដោយប្រើមុខងារបឋមកថា () នៅដើមនៃឯកសារនេះបន្ទាប់ពីការកំណត់តម្លៃកម្រិតលទ្ធផលកំហុស:
˂? Php
error_reporting (-1);
បឋមកថា ( "មាតិកាប្រភេទ: text / html; charset = UTF-8 ');
ដើម្បីតភ្ជាប់ទៅមូលដ្ឋានទិន្នន័យ MySQL អ៊ិនកូដ UTF-8 ត្រូវបានកំណត់:
˂? Php
mysql_set_charset ( "UTF8 ');
ការអ៊ិនកូដឯកសារ CSS មានតួអក្សរគឺ UTF-8 ត្រូវបានបញ្ជាក់ដូចខាងក្រោម:
@charset "UTF-8";
នៅពេលដែលអ្នករក្សាទុកឯកសារគ្រប់ប្រភេទជ្រើសអ៊ិនកូដ UTF-8 ដោយមិន Bom, បើមិនដូច្នេះទេនឹងមិនបណ្តាធ្វើការ។ ដើម្បីធ្វើដូចនេះនៅក្នុង Dreamweaver ត្រូវការជ្រើសធាតុម៉ឺនុយ«ការកែប្រែ - លក្ខណសម្បត្តិទំព័រ - ចំណងជើង / ការអ៊ិនកូដ "ដើម្បីផ្លាស់ប្តូរការអ៊ិនកូដទៅ UTF-8 ។ តាមពីក្រោយដោយផ្ទុកទំព័រយកសញ្ញាធីកពី "ហត្ថលេខាភ្ជាប់យូនីកូដ (Bom) »និងអនុវត្តការផ្លាស់ប្តូរ។ ប្រសិនបើមានអត្ថបទនៅលើទំព័រមួយឬនៅក្នុងមូលដ្ឋានទិន្នន័យណាមួយត្រូវបានគេណែនាំទម្រង់មួយទៀតនៃការសរសេរកូដនោះវាគឺជាការចាំបាច់ការចូលឬឡើងវិញអ៊ិនកូដ។ នៅពេលដែលអ្នកធ្វើការជាមួយកន្សោមធម្មតា, ត្រូវប្រាកដថាដើម្បីប្រើប្រាស់កែប្រែប៉ុន្មាន។
អ្នកអាចរក្សាទុកឯកសារនៅក្នុងការអ៊ិនកូដ UTF-8 នៅក្នុង "Notepad" នៃប្រព័ន្ធប្រតិបត្តិការ Windows ។ បន្ទាប់ពីបានជ្រើសធាតុម៉ឺនុយ "ឯកសារ - រក្សាទុកជា ... " ដើម្បីដំឡើងជាទម្រង់ដែលចាំបាច់នៃការអ៊ិនកូដនិងរក្សាទុកឯកសារនៅក្នុង UTF-8 ។
នៅក្នុងកម្មវិធីនិពន្ធអត្ថបទ Notepad ++ បើកំណត់ផ្សេងទៀតជាជាង UTF-8, តាមរយៈធាតុម៉ឺនុយ "ការបម្លែងទៅជា UTF-8 ដោយមិន Bom »ផ្លាស់ប្តូរតួអក្សរនិងរក្សាទុកនៅក្នុង UTF-8 ។
មិនមានជម្រើស
នៅក្នុងបរិបទនៃសកលភាវូបនីយកម្ម, ដែលជាកន្លែងដែលព្រំដែននយោបាយនិងភាសាត្រូវបានលុបសំណុំតួអក្សរដែលមានលក្ខណៈក្នុងស្រុកមាននៃការប្រើប្រាស់តិចតួច។ យូនីកូដគឺជាសំណុំតួអក្សរតែមួយដែលគាំទ្រមូលដ្ឋានទាំងអស់។ UTF-8 មួយ - ឧទាហរណ៍នៃការអនុវត្តន៍ត្រឹមត្រូវនៃយូនីកូដដែលជា:
- វាគាំទ្រជួរធំទូលាយមួយនៃឧបករណ៍, រួមបញ្ចូលទាំងភាពឆបគ្នាជាមួយនឹងការអ៊ិនកូដ ASCII;
- វាគឺជាការធន់ទ្រាំទៅនឹងទិន្នន័យកាឡៃ;
- សាមញ្ញនិងមានប្រសិទ្ធិភាពក្នុងការព្យាបាលនេះ;
- ជាវេទិកាឯករាជ្យ។
ជាមួយវត្តមាននៃការជជែកពិភាក្សាគ្នាជា UTF-8 ជាទម្រង់នៃការអំពីអ្វីឬតួអក្សរអ៊ិនកូដឌីងមានលក្ខណៈល្អប្រសើរនោះសំណុំវាក្លាយជាគ្មានន័យ។
Similar articles
Trending Now