در این ارائه با ابتداییترین معلوماتی که یک برنامهنویس باید در مورد کدگذاریهای نویسهها (کاراکتر انکدینگها) داشته باشد آشنا میشویم. سیری بر تاریخچه کدگذاریها خواهیم داشت و خواهیم دید چگونه از مشکلات معمول در این ضمینه اجتناب کرد. همچنین در انتها با کیبورد استاندارد فارسی و سطوح کاربردی مختلف آن آشنا خواهیم شد
5. اگر فکر م کنید …
”... “if you think
متن ساده
ک
یون کد
ASCII
انکدینگ )۲ بایت(
کیبورد فارس مایکروسافت مناسب فارس نویس است
یا برای فارس نویس نیاز به ابزار فرمتبندی است
14. آنس و تولد ک
کدپیج ها
Codepage dependent
Fixed
“ANSI and The birth of the Code Pages”
CP437 (IBM)
CP1256 (Arabic)
15. مشکل ت ک
کدپیج ها
”“Code Pages Problems
✔
چندزبانه سازی عمل غیرممکن بود
✔
مشکل در ارتباط با سیستم های مختلف دیگر
✔
نامناسب برای زبان های آسیای
16. تفاو ت میان کاراکتر کدپیج ها
“Difference between codepages characters”
$ python
print chr(202).decode('cp437')
╩
print chr(202).decode('cp1256')
ت
19. استاندارد یون ک
کد
“The Unicode standard”
Basic Latin
A
Letter
ISO Control
Uppercase
Lowercase
Whitespace
Digit
Left to Right
...
AlphaNumeric
Mirrored
Code Point
U+hexadecimal
20. خصوصیا ت کاراکترهای
یون ک
کد
“Unicode characters properties”
$ python
import unicodedata as ud
ud.name(u”)”ب
'ARABIC LETTER BEH'
ud.category(u”)”ب
'Lo'
ud.numeric(u”۳”)
3.0
21. استاندارد یون ک
کد
“The Unicode standard”
Code Point
U+hexadecimal
0100110011011001011010
0100100011101010101101
0011001100000110010101
0101000100111101101101
0010110100101010111101
01010101010101
36. »در حافظه چیزی به نام
«متن ساده وجود ندارد
”There's nothing as plain text on memory”
37. »داشتن یک رشته بدون
دانستن نوع اندینگ آن
«ب معن است
”It does not make sense to have a string without
knowing what encoding it uses”
38. ۱. ارسال نوع انکدینگ
“Sending the encoding type”
✔
HTTP
Content-Type: text/html; charset=UTF-8
✔
HTML 4
meta http-equiv=Content-Type
content=text/html; charset=UTF-8
✔
HTML 5
meta charset=UTF-8
✔
XML
xml encoding=UTF-8
39. ۱. ارسال نوع انکدینگ
“Sending the encoding type”
$ curl -I http://google.com
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Mon, 24 Feb 2014 12:32:10 GMT
Expires: Wed, 26 Mar 2014 12:32:10 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
$
40. ۲. شناسای نوع انکدینگ
“Detecting the encoding type”
نوع انکدینگ مشخص نیست
✔
اطلعا ت نوع انکدینگ هقابل اطمینان نیست
✔
https://en.wikipedia.org/wiki/Charset_detection
http://www-archive.mozilla.org/projects/intl/UniversalCharsetDetection.html
57. استاندارد مل ۷۴۱۹
“7419 ”ISIRI
✔
ک
مبتن بر استاندارد یون کد
✔
سازگار با استاندارد ۱۰۹۲
✔
نویسه های استاندارد شده ۹۱۲۶
✔
دستور خط فارس مصوب فرهنگستان زبان و ادب