ᲙომპიუტერებიᲞროგრამირების

UTF-8 - ხასიათის კოდირების

Unicode მხარს უჭერს პრაქტიკულად ყველა არსებული ხასიათი კომპლექტი. საუკეთესო ფორმით კოდირების Unicode ხასიათი კომპლექტი არის UTF-8 კოდირებაში. იგი მხარს უჭერს თავსებადობა ASCII, წინააღმდეგობის გაწევა დამახინჯება მონაცემები, ეფექტურობა და მარტივად დამუშავება. მაგრამ პირველი რამ პირველი.

კოდირების ფორმა

კომპიუტერები მოქმედებს არა მხოლოდ როგორც ნომრები აბსტრაქტული მათემატიკური ობიექტები, ისევე როგორც დაჯგუფების ქვედანაყოფების შენახვისა და მართვის ფიქსირებული ზომის მონაცემები - byte და 32-bit სიტყვა. კოდირების სტანდარტი უნდა გაითვალისწინოს, როდესაც განსაზღვრის თუ როგორ უნდა წარმოადგინოს რაოდენობის სიმბოლოებს.

კომპიუტერული სისტემების, რიცხვებით შენახული მეხსიერების უჯრედები 8 ბიტი (1 byte), 16 ან 32 ბიტი. ყოველი ფორმით განსაზღვრავს Unicode კოდირების, რომელიც თანმიმდევრობით მეხსიერების უჯრედების რიცხვი შესაბამისი კონკრეტული სიმბოლო. სტანდარტული არსებობს სამი სხვადასხვა ფორმის კოდირების Unicode სიმბოლოების 8, 16 და 32-bit ბლოკები. შესაბამისად, ისინი ცნობილია როგორც UTF-8, UTF-16 და UTF-32. სახელი UTF დგას Unicode ტრანსფორმაცია ფორმატი. თითოეული სამი ფორმის კოდირების საშუალებით თანაბარი წარმომადგენლობის Unicode ხასიათი აქვს უპირატესობა სხვადასხვა პროგრამები.

მონაცემთა დაშიფვრის შეიძლება გამოყენებულ იქნას წარმოადგენს ყველა პერსონაჟი უნიკოდის სტანდარტი. ასე რომ, ისინი სრულად თავსებადი გადაწყვეტილებები სხვადასხვა მიზეზების გამო, სხვადასხვა ფორმის კოდირების. თითოეული კოდირების შეიძლება ცალსახად გადაკეთდება ნებისმიერი სხვა ორი დაკარგვის გარეშე მონაცემები.

nenalozheniya პრინციპი

თითოეული ფორმები Unicode კოდირების განვითარებული ხედი არასამთავრობო ნაწილობრივ გადახურვა. მაგალითად, Windows-932 აყალიბებს გმირები ერთი ან ორი bytes კოდი. თანმიმდევრობა სიგრძე დამოკიდებულია პირველი byte, ასე რომ, წამყვანი byte ღირებულებების სერია ორ byte და ერთი ბაიტი disjoint. თუმცა, ღირებულება ერთი ბაიტი და არასასურველი byte რიგითობა შეიძლება ემთხვევა. ეს იმას ნიშნავს, რომ, მაგალითად, ხასიათი ძიება D (კოდი 44) ნახავთ, რომ შეცდომით შევიდა მეორე ნაწილი თანმიმდევრობა ორი byte ხასიათი "D" (კოდი 84 44). იმის გასარკვევად, რომელიც თანმიმდევრობით არის სწორი, პროგრამა უნდა გაითვალისწინოს წინა bytes.

სიტუაციას ართულებს, თუ წამყვანი და გადმოკიდული bytes მატჩი. ეს იმას ნიშნავს, რომ იმისათვის, რომ ამოიღონ გაურკვევლობა იქნება საპირისპირო საძიებელი მიღწევამდე ტექსტის დასაწყისში ან უნიკალური კოდი თანმიმდევრობა. ეს არ არის მხოლოდ არაეფექტური, მაგრამ არ არის დაცული შესაძლო შეცდომები, რადგან მხოლოდ ერთი არასწორი byte სრული ტექსტი გახდა unreadable.

ფორმატში კონვერტაცია Unicode გაურბის ამ პრობლემას, რადგან ღირებულება წამყვანი, არასასურველი და ერთი ერთეული შენახვის და იგივე არ არის ინფორმაცია. ეს უზრუნველყოფს, რომ ყველა Unicode მოძიებისა და შედარებით, არასდროს რაც მცდარი შედეგების გამო თანხვედრა სხვადასხვა კუთხეში ხასიათი კოდი. ის ფაქტი, რომ ეს ფორმები კოდირების პრინციპს nenalozheniya, განასხვავებს მათ სხვა აღმოსავლეთ აზიის მრავალ byte კოდირება.

კიდევ ერთი ასპექტი nonintersection Unicode კოდირება არის, რომ თითოეული ხასიათი აქვს მკაფიოდ განსაზღვრული საზღვარზე. ეს აგარიდებთ საჭიროება სკანირების განუსაზღვრელი რაოდენობის წინა სიმბოლოები. ეს ფუნქცია უწოდებენ თვითმმართველობის ასლით კოდირება. დამახინჯება კოდი ერთეული გააცნობს დამახინჯება მხოლოდ ერთი ხასიათი, და მიმდებარე გმირები არიან ისევ უცვლელი. 8-bit ფორმატში კონვერტაცია, თუ მაჩვენებელი მიუთითებს byte, დაწყებული 10xxxxxx (ორობითი კოდი) მოძიების დაწყების სიმბოლო არის საჭირო ერთიდან სამ საპირისპირო გადასვლები.

თანმიმდევრულობა

უნიკოდის კონსორციუმის მხარს უჭერს ყველა 3 ფორმების კოდირება. მნიშვნელოვანია, რომ არ ეწინააღმდეგებიან UTF-8 და Unicode, როგორც ყველა კონვერტაციის ფორმატში - თანაბრად მოქმედებს ფორმები განსახიერება Unicode ხასიათი კოდირების სტანდარტი.

Byte ორიენტაცია

წარმოადგენს UTF-32 სიმბოლო უნდა 32-bit კოდი ერთეული, რომელიც ემთხვევა Unicode კოდი. UTF-16 - ერთი ორი 16-bit ერთეული. UTF-8 იყენებს up 4 ბაიტი.

UTF-8 კოდირების მიზანია იყოს თავსებადი byte ორიენტირებული ASCII დაფუძნებული სისტემები. ყველაზე არსებული პროგრამული უზრუნველყოფის და პრაქტიკა საინფორმაციო ტექნოლოგიების დიდი ხანია ეყრდნობოდა წარმომადგენლობა სიმბოლოების თანმიმდევრობა bytes. Multiple ოქმები დამოკიდებულია მუდმივობის ASCII კოდირების და იყენებს ან თავს არიდებს სპეციალურ კონტროლს სიმბოლო. მარტივი გზა, რათა მოერგოს სიტუაციებში Unicode შეუძლია გამოყენებით 8-bit კოდირების წარმოადგენს Unicode სიმბოლოებს, ნებისმიერი ექვივალენტი ASCII ხასიათი ან კონტროლის ხასიათი. ამ მიზნით, და ეს არის UTF-8 კოდირებაში.

ცვლადი სიგრძის

UTF-8 - კოდირება ცვლადი სიგრძის, რომელიც შედგება 8-bit შენახვის ერთეული, ზედა ბიტი, რომელიც მიუთითებს, რომლის ნაწილი თანმიმდევრობა თითოეული byte ეკუთვნის. ერთი დიაპაზონი გამოყოფილი პირველ ელემენტს კოდი თანმიმდევრობა, მეორე კი - მომდევნო. ეს უზრუნველყოფს disjointness კოდირება.

ASCII

UTF-8 კოდირების სრულად უჭერს მხარს ASCII კოდები (0x00-0x7F). ეს ნიშნავს, რომ Unicode სიმბოლოების U + 0000-U + 007F გარდაიქმნება ერთი ბაიტი 0x00-0x7F UTF-8 და ამით გახდეს განურჩეველი ASCII. უფრო მეტიც, რათა თავიდან ავიცილოთ ორაზროვნების მნიშვნელობა 0x00-0x7F არ გამოიყენება რაიმე უფრო ერთი ბაიტი წარმომადგენლობა Unicode სიმბოლოებს. კოდირება სიმბოლოები neideograficheskih გარდა ASCII, გამოყენებით თანმიმდევრობით ორი bytes. სიმბოლიკა დიაპაზონი U + 0800-U + FFFF წარმოდგენილია სამი ბაიტი, და კოდების მეტი U + FFFF მოითხოვს ოთხი ბაიტი.

გამოყენების სფერო

UTF-8 კოდირების, როგორც წესი, უპირატესობა მიენიჭა HTML ოქმი, და ასე შემდეგ.

XML გახდა პირველი სტანდარტული სრული მხარდაჭერა UTF-8 კოდირებაში. სტანდარტები ორგანიზაციებს ასევე რეკომენდაციას. მხარდაჭერა პრობლემა URL მისამართი, რომელიც განსხვავდება ASCII სიმბოლო იყო, მოგვარდა კონსორციუმი W3C და IETF საინჟინრო ჯგუფი მოვიდა შეთანხმებას კოდირების ყველა URL მისამართები მხოლოდ UTF-8.

თავსებადობა ASCII ხელს უწყობს გადასვლის ახალი პროგრამული უზრუნველყოფა. UTF-8 მუშაობს ყველაზე ტექსტის რედაქტორები, მათ შორის JEdit, Emacs, BBEdit, Eclipse და "ენა" ოპერაციული სისტემა. არარის სხვა ფორმით კოდირების Unicode ვერ დაიკვეხნის ასეთი მხარდაჭერით ინსტრუმენტი.

კოდირების უპირატესობა ის არის, რომ იგი შედგება თანმიმდევრობა bytes. UTF-8 string არის მარტივი მუშაობა C და სხვა პროგრამირების ენები. ეს არის ერთადერთი ფორმა კოდირების, რათა არ საჭიროებს ეტიკეტები bytes BOM ან კოდირება XML.

თვითმმართველობის სინქრონიზაცია

იმ გარემოში, რომელიც იყენებს 8-bit სიმბოლოები დამუშავება შედარებით სხვა მრავალ byte ხასიათი კომპლექტი, UTF-8 აქვს შემდეგი უპირატესობები:

  • პირველი byte კოდი თანმიმდევრობა შეიცავს ინფორმაციას მისი სიგრძე. ეს ზრდის ეფექტურობას პირდაპირი ძებნა.
  • გამარტივებული მოძიებაში დასაწყისში სიმბოლო, როგორც ამოსავალი byte შემოიფარგლება ფიქსირებული დიაპაზონს.
  • გზაჯვარედინები byte ღირებულებებს.

შეადარეთ სარგებელი

UTF-8 კოდირების არის კომპაქტური. მაგრამ, როდესაც გამოიყენება კოდირების აღმოსავლეთ აზიის გმირები (ჩინური, იაპონური, კორეული, ჩინური დამწერლობის გამოყენებით ნიშნები) გამოიყენება 3-byte sequences. ასევე UTF-8 კოდირების არის inferior სხვა ფორმები კოდირების დამუშავების სიჩქარე. ორობითი დახარისხება ხაზები აწარმოებს იგივე შედეგი, როგორც ორობითი დახარისხება Unicode.

ხასიათი კოდირების სქემა

ხასიათი კოდირების სქემა მოიცავს კოდირების სიმბოლოების ფორმა და მეთოდი ერთი ბაიტი ადგილმდებარეობა კოდი ერთეული. რათა დადგინდეს კოდირების სქემა უნიკოდის სტანდარტი უზრუნველყოფს გამოყენების საწყის ბაიტი მიზნით ნიშნის (BOM, Byte, რათა ნიშნის).

როდესაც BOM in UTF-8 ფუნქცია tag შემოიფარგლება მხოლოდ მინიშნება გამოყენების ფორმები კოდირების. პრობლემების განსაზღვრის endian UTF-8 აქვს, როგორც მისი კოდირება ერთეულის ზომა არის ერთი ბაიტი. გამოყენება BOM ამ ფორმით კოდირების არც საჭირო არც არის რეკომენდებული. BOM შეიძლება მოხდეს ტექსტის მოაქცია სხვა codings გამოყენებით ბაიტი მიზნით ნიშნის ან ხელმოწერა UTF-8 კოდირებაში. თანმიმდევრობა, 3 ბაიტი EF BB 16 16 BF 16.

როგორ მითითებული UTF-8 კოდირების

HTML კოდირების UTF-8 დამონტაჟებულია შემდეგი კოდი:

უფროსი

მეტა http-equiv = "Content-Type" content = "text / html; charset = utf-8" ˃

In PHP UTF-8 კოდირების არის გამოყენებით header () ფუნქცია დასაწყისში ფაილი შემდეგ მიიღწევა გამომავალი დონეზე მნიშვნელობა შეცდომა:

˂? Php

error_reporting (-1);

header ( "Content-Type: text / html; charset = utf-8");

დაკავშირება MySQL მონაცემთა ბაზის UTF-8 კოდირების არის:

˂? Php

mysql_set_charset ( "UTF8");

CSS-ფაილის კოდირება არის UTF-8 სიმბოლო არის მითითებული შემდეგი რედაქციით:

@charset "utf-8";

როდესაც თქვენ გადარჩენა ფაილი ყველა სახის აირჩიოს UTF-8 კოდირების გარეშე BOM, წინააღმდეგ შემთხვევაში, საიტი არ იმუშავებს. ამისათვის DreamWeave უნდა აირჩიოთ პუნქტს "ცვლილებების - Page Properties - Title / კოდირება" შეცვლის კოდირებაში UTF-8. მოყვება გვერდის გადატვირთვა, ამოიღონ გამშვები ნიშნის "Connect Unicode ხელმოწერა (BOM)» და ვრცელდება ცვლილებები. თუ ნებისმიერი ტექსტი გვერდზე ან მონაცემთა ბაზის შემოღებულ იქნა კიდევ ერთი ფორმა კოდირება, აუცილებელია ხელახლა და ხელახლა encode. როცა მუშაობა რეგულარული გამოსახულებების, რა თქმა უნდა გამოიყენოს მოდიფიკატორის u.

თქვენ ასევე შეგიძლიათ შეინახოთ ფაილი UTF-8 კოდირების, რომ "ენა" Windows. შერჩევის შემდეგ პუნქტს "ფაილი - შენახვა როგორც ..." დააყენოთ საჭირო სახით კოდირების და ფაილის შენახვა UTF-8.

ტექსტური რედაქტორი Notepad ++, თუ მითითებული გარდა UTF-8, მეშვეობით პუნქტს "კონვერტაციის UTF-8 გარეშე BOM» შეცვლის ხასიათი და შეინახე UTF-8.

სხვა ალტერნატივა არ არსებობს

In გლობალიზაციის კონტექსტში, სადაც პოლიტიკური და ენობრივი საზღვრები წაშლილია, ხასიათი კომპლექტი, რომელიც ადგილობრივი მახასიათებლები, რომლებიც პატარა გამოყენება. Unicode ერთი ხასიათი კომპლექტი, რომელიც მხარს უჭერს ყველა ლოკალიზაციის. UTF-8 - მაგალითი სათანადო განხორციელებას Unicode, რომელიც:

  • იგი მხარს უჭერს ფართო სპექტრს ინსტრუმენტები, მათ შორის თავსებადობას ASCII კოდირების;
  • იგი მდგრადია დამახინჯება მონაცემები;
  • მარტივი და ეფექტური მკურნალობის;
  • პლატფორმა დამოუკიდებელი.

ერთად მარხვის UTF-8 დებატების შესახებ, თუ რა ფორმით კოდირების ან ხასიათი კომპლექტი უმჯობესია, ეს ხდება უაზრო.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ka.birmiss.com. Theme powered by WordPress.