Suche senden
Hochladen
文字コード勉強会
•
Als PPTX, PDF herunterladen
•
3 gefällt mir
•
5,925 views
典彦 平原
Folgen
Melden
Teilen
Melden
Teilen
1 von 70
Jetzt herunterladen
Empfohlen
文字コード概説
文字コード概説
Hashimoto Shogo
文字コードのお話
文字コードのお話
Shunji Konishi
文字コード略歴
文字コード略歴
Masafumi Yokoyama
A Reintroduction To Ruby M17 N
A Reintroduction To Ruby M17 N
Yui NARUSE
文字コード入門 理論編 クイズ付き
文字コード入門 理論編 クイズ付き
Takao Baba
Unicode文字列処理
Unicode文字列処理
信之 岩永
文字コード略歴
文字コード略歴
Masafumi Yokoyama
About FeliCa Lite(日本語)
About FeliCa Lite(日本語)
Hirokuma Ueno
Empfohlen
文字コード概説
文字コード概説
Hashimoto Shogo
文字コードのお話
文字コードのお話
Shunji Konishi
文字コード略歴
文字コード略歴
Masafumi Yokoyama
A Reintroduction To Ruby M17 N
A Reintroduction To Ruby M17 N
Yui NARUSE
文字コード入門 理論編 クイズ付き
文字コード入門 理論編 クイズ付き
Takao Baba
Unicode文字列処理
Unicode文字列処理
信之 岩永
文字コード略歴
文字コード略歴
Masafumi Yokoyama
About FeliCa Lite(日本語)
About FeliCa Lite(日本語)
Hirokuma Ueno
Fontconfigことはじめ
Fontconfigことはじめ
Takao Baba
フィーリングで読む40種類のアセンブラ(オープンソースカンファレンス2013 Tokyo/Spring ライトニングトーク)
フィーリングで読む40種類のアセンブラ(オープンソースカンファレンス2013 Tokyo/Spring ライトニングトーク)
kozossakai
文字コードとセキュリティ
文字コードとセキュリティ
Kenta Yamamoto
新しい生活をLinuxといっしょに始めよう!
新しい生活をLinuxといっしょに始めよう!
Shun Kittaka
Linux でavr開発環境を構築する+mbed(20100612koedo94)
Linux でavr開発環境を構築する+mbed(20100612koedo94)
Kenichiro MATOHARA
マイコンでマルチタスク
マイコンでマルチタスク
Katsuhiko Terawaki
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
Masaki Muranaka
独学道場アセンブリの会
独学道場アセンブリの会
Ryota Suenaga
Cコンパイラの改造(未)
Cコンパイラの改造(未)
7shi
文字コード基礎論A
文字コード基礎論A
京大 マイコンクラブ
C#でゲームを作る2016 第1回
C#でゲームを作る2016 第1回
京大 マイコンクラブ
Windows改造計画
Windows改造計画
京大 マイコンクラブ
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
Hiroshi Tokumaru
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回
京大 マイコンクラブ
5分でインストール!awsでzabbix3.0
5分でインストール!awsでzabbix3.0
Tadashi Mishima
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
Line messaging api ハンズオン資料 ver1.2
Line messaging api ハンズオン資料 ver1.2
hajime sato
全角チルダ問題
全角チルダ問題
tsudaa
hideya流 テストプレイ観察術
hideya流 テストプレイ観察術
京大 マイコンクラブ
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
Weitere ähnliche Inhalte
Andere mochten auch
Fontconfigことはじめ
Fontconfigことはじめ
Takao Baba
フィーリングで読む40種類のアセンブラ(オープンソースカンファレンス2013 Tokyo/Spring ライトニングトーク)
フィーリングで読む40種類のアセンブラ(オープンソースカンファレンス2013 Tokyo/Spring ライトニングトーク)
kozossakai
文字コードとセキュリティ
文字コードとセキュリティ
Kenta Yamamoto
新しい生活をLinuxといっしょに始めよう!
新しい生活をLinuxといっしょに始めよう!
Shun Kittaka
Linux でavr開発環境を構築する+mbed(20100612koedo94)
Linux でavr開発環境を構築する+mbed(20100612koedo94)
Kenichiro MATOHARA
マイコンでマルチタスク
マイコンでマルチタスク
Katsuhiko Terawaki
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
Masaki Muranaka
独学道場アセンブリの会
独学道場アセンブリの会
Ryota Suenaga
Cコンパイラの改造(未)
Cコンパイラの改造(未)
7shi
文字コード基礎論A
文字コード基礎論A
京大 マイコンクラブ
C#でゲームを作る2016 第1回
C#でゲームを作る2016 第1回
京大 マイコンクラブ
Windows改造計画
Windows改造計画
京大 マイコンクラブ
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
Hiroshi Tokumaru
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回
京大 マイコンクラブ
5分でインストール!awsでzabbix3.0
5分でインストール!awsでzabbix3.0
Tadashi Mishima
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
Line messaging api ハンズオン資料 ver1.2
Line messaging api ハンズオン資料 ver1.2
hajime sato
全角チルダ問題
全角チルダ問題
tsudaa
hideya流 テストプレイ観察術
hideya流 テストプレイ観察術
京大 マイコンクラブ
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
Andere mochten auch
(20)
Fontconfigことはじめ
Fontconfigことはじめ
フィーリングで読む40種類のアセンブラ(オープンソースカンファレンス2013 Tokyo/Spring ライトニングトーク)
フィーリングで読む40種類のアセンブラ(オープンソースカンファレンス2013 Tokyo/Spring ライトニングトーク)
文字コードとセキュリティ
文字コードとセキュリティ
新しい生活をLinuxといっしょに始めよう!
新しい生活をLinuxといっしょに始めよう!
Linux でavr開発環境を構築する+mbed(20100612koedo94)
Linux でavr開発環境を構築する+mbed(20100612koedo94)
マイコンでマルチタスク
マイコンでマルチタスク
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
独学道場アセンブリの会
独学道場アセンブリの会
Cコンパイラの改造(未)
Cコンパイラの改造(未)
文字コード基礎論A
文字コード基礎論A
C#でゲームを作る2016 第1回
C#でゲームを作る2016 第1回
Windows改造計画
Windows改造計画
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回
5分でインストール!awsでzabbix3.0
5分でインストール!awsでzabbix3.0
C++ マルチスレッド 入門
C++ マルチスレッド 入門
Line messaging api ハンズオン資料 ver1.2
Line messaging api ハンズオン資料 ver1.2
全角チルダ問題
全角チルダ問題
hideya流 テストプレイ観察術
hideya流 テストプレイ観察術
プログラムを高速化する話
プログラムを高速化する話
文字コード勉強会
1.
文字コードの基礎
2.
Agenda 1. 文字コードの歴史 2. 文字コードの注意点 3.
もし文字化けしたら
3.
文字コードの歴史
4.
日本語文字コードの種類 ISO-2022-jp (JIS) Shift-JIS EUC-JP Unicode
5.
種類が多いですね・・・
6.
なぜ、そんなに派生がある の?
7.
1990以前は文字コードは ASCIIってやつしか無かった。
8.
ASCIIは7ビット文字で 128個しか表現できない。 コード範囲(16進) 内容 0x00~0x1F 制御文字(control
characters) 0x20 空白(SP) 0x21~0x7E 図形文字(graphic characters) 0x7F 制御文字DEL(delete)
9.
漢字って何種類あるんだっ け?
10.
128文字?
11.
足りねぇじゃん!!
12.
そこで、1990年ごろ JISという文字コードが作られま した。
13.
JISというのは・・・ ASCIIでは7ビットしかねぇか ら、2バイトにしちゃえば、よく ね? 2バイト文字の誕生です! 別名でISO-2022-jpって言われているやつです ね。
14.
しかし、JISにも問題 が・・・
15.
JISはカタカナとか漢字とか の文字コード範囲が被って る。 コード範囲(16進) 内容 0x00~0x1F、0x7F 制御コード 0x20~0x7E ASCII文字 0x21~0x5F 半角カタカナ 0x2121~0x7E7E 漢字
( 第1バイト・第2バイトとも 0x21~ 0x7E ) 0x2121~0x7E7E 補助漢字 ( 第1バイト・第2バイトとも 0x21~ 0x7E ) 見事に被ってますね!
16.
あれ?だめじゃね?
17.
解決するために、エスケープ 文字を準備しました! コードの範囲が被っているんで、1つの文字の先頭と最後に区切りを入れています。 ※ASCIIとの互換を保つために、ASCIIと同じ文字コードの場合は区切り文字は入らない 例:[日本語START]こ[日本語END][半角カタカナSTART]ア[半角カタカナEND]
18.
じゃーいいじゃん
19.
いや、ダメなんです。
20.
エスケープが1つでも欠損する と全部文字化けする可能性があ る。
21.
JISは必ずエスケープで始まりエ スケープで終わるのが前提! でも、途中でエスケープが無く なると、文字化けしちゃう/ (^o^)\ [日本語START]こ[日本語END][半角カタカナSTART]ア[半角カタカナEND] がもし [日本語START]こ[半角カタカナSTART]ア[半角カタカナEND] で、[日本語END]が無かったら、残りの文字コードは全て日本語扱いになってしまい、 残りの全部文字化けしてしまう。
22.
他にも、エスケープが入ること により、文字コードの数が増え るため、処理が遅くなってしま う。
23.
そこで、解決するために誕 生したのが・・・
24.
Shift-JIS EUC-JPもありますが、無視します。
25.
Shift-JISは1バイトを8ビットに して1つ繰り上げて文字コード が被らないようにしました。 1 バイト目 文字の種類 0x00~0x1F、0x7F 制御コード 0x20~0x7E ASCII文字 0xA1~0xDF 半角カタカナ 0x81~0x9F、0xE0~0xFC 2 バイト目 0x40~0x7E、0x80~0xFC 漢字
26.
・・・さすがMicrosoft 天才の降臨です。
27.
あの問題が無ければの話で すが・・・
28.
有名な5C問題です。
29.
なぜか2バイト目に「5C」を 使ったのかっ!
30.
お前のせいでエスケープし なきゃならないんだっ!
31.
5C問題とは、 ASCIIと「5C」はバックスラッ シュなので、多くのプログラム 言語ではエスケープに扱いに なってしまいます。・・・あと は分かるな
32.
ちゃんと回避してあげま しょ
33.
基本的には文字列の後ろにバック スラッシュをつけます。 「表」のような感じです。 面倒臭ければ 「magic_quotes_gpc」で全部エ スケープって事もできます。
34.
ISO-2022-JP (RFC 1468、俗に「JIS
コード」と呼ばれる文字コード。JIS X 0208 対 応) ISO-2022-JP-1 (RFC 2237、JIS X 0208 と JIS X 0212 に対応) ISO-2022-JP-2 (RFC 1554、多言語拡張。JIS X 0208、JIS X 0212、GB 2312、KS X 1001、ISO/IEC 8859-1、ISO/IEC 8859-7 対応) ISO-2022-JP-3 (JIS X 0213:2000 対応) ISO-2022-JP-2004 (JIS X 0213:2004 対応) ISO-2022-CN (RFC 1922、GB 2312、CNS 11643 [第一字面・第二字面]対応) ISO-2022-CN-EXT (RFC 1922、GB 2312、ISO-IR-165、CNS 11643 [第一字面から 第七字面]対応) ISO-2022-KR (RFC 1557、KS X 1001 対応) EUC-JP (JIS X 0208 対応) EUC-JISX0213 (JIS X 0213:2000 対応) EUC-JIS-2004 (JIS X 0213:2004 対応) EUC-KR (RFC 1557、KS X 1001 対応) GB2312 (別名 EUC-CN。GB 2312 対応) GBK (Microsoft Windows Codepage 936 対応) GB18030 (GB 18030 対応) EUC-TW (CNS 11643 対応) Shift_JIS (JIS X 0208 対応) Shift_JISX0213 (JIS X 0213:2000 対応) Shift_JIS-2004 (JIS X 0213:2004 対応) Windows-31J (Microsoft Windows Codepage 932 対応) x-Mac-Japanese (MacJapanese 対応) ここから文字コードが乱立し ていきます。
35.
おいおいおい、お前ら勝手にや り過ぎだし、国際化とか全然考 えてないだろ?
36.
ということで、救世主登場
37.
UTF-8(Unicode)
38.
全世界文字を一つのコードで 表現出来ればいいよね!
39.
でも、2バイトで足りるな?
40.
とりあえず4バイトぐらいにし とこ
41.
UTF-8(Unicode)の誕生 UTF-8を2バイト文字とか言っちゃうと恥ずかしいことになります。
42.
WEBプログラム組むときは UTF-8だけでいいです。 新規に限りますが・・・
43.
色々な文字コードの注意 事項。
44.
ASCIIと日本語文字コード
45.
実は、ASCIIの上位互換で、日 本語文字コードが作られてい ます。
46.
簡単に言うと、上位互換だから、 文字コードが違っても、プログラ ムなどは動作します。(文字化け はしますが)
47.
しかし、 UTF16は何も動かないです。
48.
Windowsの内部コードはUTF-16ら しいので、メモ帳とかで 「Unicode」とか指定するとUTF16になっちゃいます。 (サクラエディタでもありますの で気をつけて下さい。)
49.
UTF-8の落とし穴
50.
プログラムにBOMが入る と色々と問題が起きる。 http://fusigidane.seesaa.net/article/129173506.html
51.
Unicodeとかの判定などで使 われるけど、本来UTF-8には BOMは使われない。 (どっちかというとUTF-16 に使用される。)
52.
普通だったらBOMなんぞ 入らない。
53.
でも・・・
54.
Windowsの内部コードっ てなんでしたっけ?
55.
UTF-16でしたよね?
56.
そうですね。 Windowsのメモ帳です ね。
57.
メモ帳で「UTF-8」で設定し てもBOMありになります。 Windowsのメモ帳は禁止で す。 そもそもWindowsのメモ帳で開発するやつを見てみたい。
58.
他にも「〜」とかの問題 点もありますが、 自分で調べて下さい。
59.
メール
60.
メールの標準は ISO-2022-JP(JIS)です。
61.
最近はUFT-8とかにも対応してき てますが、めっちゃ古いメールク ライアント使ってる場合は化けし ます。 可能な限りISO-2022-JPがいいか もしれません。
62.
WEB開発で文字化けした時の対処
63.
1.まず、エディタを怪しめ
64.
大体5割が原因です。 必ず文字コードを合わせま しょう。 BOMが入ってないか?とかも 見たほうがいいですね!
65.
2.サーバーを怪しめ
66.
もしかしたらApacheの文字コード が変わってるかもしれません。
67.
3.DBを怪しめ
68.
新規開発だと結構やっちゃいま す。 ちゃんとDBも文字コードを合わせ ましょう。
69.
4.プログラムを怪しめ
70.
実は自分がハマった事があるんで す。。。 ライブラリが、UTF-8対応じゃな くて半日ぐらいハマりました。
Jetzt herunterladen