Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
tsudaa
104,679 views
全角チルダ問題
全角チルダ問題
Software
◦
Read more
163
Save
Share
Embed
Embed presentation
Download
Downloaded 112 times
1
/ 33
2
/ 33
3
/ 33
4
/ 33
5
/ 33
6
/ 33
7
/ 33
8
/ 33
Most read
9
/ 33
Most read
10
/ 33
11
/ 33
12
/ 33
13
/ 33
14
/ 33
15
/ 33
16
/ 33
17
/ 33
18
/ 33
19
/ 33
20
/ 33
Most read
21
/ 33
22
/ 33
23
/ 33
24
/ 33
25
/ 33
26
/ 33
27
/ 33
28
/ 33
29
/ 33
30
/ 33
31
/ 33
32
/ 33
33
/ 33
More Related Content
PDF
PostgreSQLアンチパターン
by
Soudai Sone
PDF
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
by
onozaty
PDF
それはYAGNIか? それとも思考停止か?
by
Yoshitaka Kawashima
PDF
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
by
NTT DATA Technology & Innovation
PPTX
MongoDBが遅いときの切り分け方法
by
Tetsutaro Watanabe
PDF
超実践 Cloud Spanner 設計講座
by
Samir Hammoudi
PPTX
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
by
NTT DATA Technology & Innovation
PDF
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
by
Shin Ohno
PostgreSQLアンチパターン
by
Soudai Sone
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
by
onozaty
それはYAGNIか? それとも思考停止か?
by
Yoshitaka Kawashima
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
by
NTT DATA Technology & Innovation
MongoDBが遅いときの切り分け方法
by
Tetsutaro Watanabe
超実践 Cloud Spanner 設計講座
by
Samir Hammoudi
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
by
NTT DATA Technology & Innovation
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
by
Shin Ohno
What's hot
PDF
NetflixにおけるPresto/Spark活用事例
by
Amazon Web Services Japan
PDF
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
by
IIJ
PDF
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
by
Satoshi Yamada
PPTX
深い親子関係のテーブル設計
by
琢磨 三浦
PDF
Where狙いのキー、order by狙いのキー
by
yoku0825
PPTX
Azure Cosmos DB のキホンと使いドコロ
by
Kazuyuki Miyake
PPTX
SQLチューニング入門 入門編
by
Miki Shimogai
PDF
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
by
Koichiro Matsuoka
PDF
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
by
NTT DATA Technology & Innovation
PPTX
DockerコンテナでGitを使う
by
Kazuhiro Suga
PDF
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PDF
ソーシャルゲーム案件におけるDB分割のPHP実装
by
infinite_loop
PDF
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメント
by
Takeshi Kakeda
PDF
SQLアンチパターン - ナイーブツリー
by
ke-m kamekoopa
ODP
Guide To AGPL
by
Mikiya Okuno
PDF
強いて言えば「集約どう実装するのかな、を考える」な話
by
Yoshitaka Kawashima
PDF
Hadoop入門
by
Preferred Networks
PDF
Twitterのsnowflakeについて
by
moai kids
PDF
シリコンバレーの「何が」凄いのか
by
Atsushi Nakada
PPTX
機械学習用のデータを準備する Amazon SageMaker Data Wrangler - ノーコードで前処理から学習まで
by
西岡 賢一郎
NetflixにおけるPresto/Spark活用事例
by
Amazon Web Services Japan
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
by
IIJ
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
by
Satoshi Yamada
深い親子関係のテーブル設計
by
琢磨 三浦
Where狙いのキー、order by狙いのキー
by
yoku0825
Azure Cosmos DB のキホンと使いドコロ
by
Kazuyuki Miyake
SQLチューニング入門 入門編
by
Miki Shimogai
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
by
Koichiro Matsuoka
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
by
NTT DATA Technology & Innovation
DockerコンテナでGitを使う
by
Kazuhiro Suga
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
ソーシャルゲーム案件におけるDB分割のPHP実装
by
infinite_loop
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメント
by
Takeshi Kakeda
SQLアンチパターン - ナイーブツリー
by
ke-m kamekoopa
Guide To AGPL
by
Mikiya Okuno
強いて言えば「集約どう実装するのかな、を考える」な話
by
Yoshitaka Kawashima
Hadoop入門
by
Preferred Networks
Twitterのsnowflakeについて
by
moai kids
シリコンバレーの「何が」凄いのか
by
Atsushi Nakada
機械学習用のデータを準備する Amazon SageMaker Data Wrangler - ノーコードで前処理から学習まで
by
西岡 賢一郎
More from tsudaa
PDF
Json型の使い方
by
tsudaa
PDF
ぬぎんくす問題
by
tsudaa
PDF
Windows でも時刻合わせがしたい!
by
tsudaa
PDF
Python と私の事情
by
tsudaa
PDF
真理とは何か
by
tsudaa
PDF
Excelのどうでもよいtipsの紹介
by
tsudaa
PDF
MySQL のユーザー定義変数と RDB のココロ
by
tsudaa
PDF
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
by
tsudaa
PDF
ドメイン名の話 (データベース/SQL)
by
tsudaa
PDF
スターマークの話
by
tsudaa
PDF
Powershell のセキュリティ (大都会ver)
by
tsudaa
PDF
昼の12時は午○何時?
by
tsudaa
PDF
PowerShell 紹介
by
tsudaa
PPTX
資格は役に立つか
by
tsudaa
PDF
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
by
tsudaa
PDF
文字数はおいくら?(Ruby版)
by
tsudaa
PDF
法律の読み方とか
by
tsudaa
PDF
C++入門?
by
tsudaa
Json型の使い方
by
tsudaa
ぬぎんくす問題
by
tsudaa
Windows でも時刻合わせがしたい!
by
tsudaa
Python と私の事情
by
tsudaa
真理とは何か
by
tsudaa
Excelのどうでもよいtipsの紹介
by
tsudaa
MySQL のユーザー定義変数と RDB のココロ
by
tsudaa
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
by
tsudaa
ドメイン名の話 (データベース/SQL)
by
tsudaa
スターマークの話
by
tsudaa
Powershell のセキュリティ (大都会ver)
by
tsudaa
昼の12時は午○何時?
by
tsudaa
PowerShell 紹介
by
tsudaa
資格は役に立つか
by
tsudaa
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
by
tsudaa
文字数はおいくら?(Ruby版)
by
tsudaa
法律の読み方とか
by
tsudaa
C++入門?
by
tsudaa
全角チルダ問題
1.
全角チルダ問題 @tsuda_ahr LTDD#5 2014/7/5 2014/7/7 改訂2版
2.
今回のネタの発端 こんな書き込みを見つけまして。
3.
全角チルダ ~
4.
波ダッシュ 〜
5.
違いがわかりましたね?
6.
問い) どっちが波ダッシュ? ~ ~
7.
答え) どっちも全角チルダ(汗
8.
なんでこんなことに? • しらん
9.
参考) 確かめかた (Windows
の場合) • 確かめたい文字をコピーします。 • WordPad を起動し、コピーした文字を貼り付けます。 • 確かめたい文字を一文字選択し、ALT + X を押します。 • コード (UCS-4) が表示されます。 • U+301C が波ダッシュ • U+FF5E が全角チルダ
10.
基礎知識1) チルダとは何か? • こういうやつらしい。 ÃÕÑ •
鼻音に関する音をあらわす、ダイアクリティカルマークの一種 • ダイアクリティカルマークってこんなやつら (よくしらない) À Á Â Ä Å Ă Ą Ā http://ja.wikipedia.org/wiki/%E3%83%80%E3%82%A4%E3%82%A2%E3%82%AF%E3%83%AA%E3%83 %86%E3%82%A3%E3%82%AB%E3%83%AB%E3%83%9E%E3%83%BC%E3%82%AF
11.
基礎知識2) ダッシュとは何か • これではない
(らしい) A’ • ダッシュとはこういうやつ (らしい) — これは「プライム」というのが正解らしい…
12.
ダッシュって何に使う記号? • ダッシュ (emダッシュ) 文と文の間、字句と字句の間に用いられて、時間の経過を表す 単語の後に用いられて省略を表す 用例) もう——だめだ。 たとえデスマーチになろうと
——
13.
ダッシュ(enダッシュ) /ハイフン/マイナスの違い • 1
– 5 (ダッシュ) 1 から 5 • 1 – 5 (ハイフン) 1 の 5 • 1 – 5 (マイナス) 1 ひく 5 わけがわからん(汗 http://ja.wikipedia.org/wiki/%E3%83%80%E3%83%83%E3%82%B7%E3%83%A5 _(%E8%A8%98%E5%8F%B7)
14.
Shift JIS (CP932)
時代 • 全角チルダはない。 • あったのは波ダッシュ。 • なので、全角/半角変換の際は、 ~ (半角チルダ) は ~ (波ダッシュ) と交換してた ???
15.
Unicode になってから ~ 〜 全角チルダ (
Yu Gothic ) 波ダッシュ ( Arial Unicode MS )
16.
なんで? • Unicode の例示字形を載せる際に間違えたらしい(汗 •
Windows XP 以前の 波ダッシュ(U+301C) はこの字形。 • よって、波ダッシュを使用すると、今まで使っていた字形と違うもの が表示されることになってしまう。
17.
しかし規格書の字形例示は、今なお変更なし? http://www.unicode.org/charts/PDF/U3000.pdf
18.
規格はそうだが… でも、さすがに 「〜」 は嫌ですよね?
19.
対策? じゃあ波ダッシュ「〜」じゃなくて、全角チルダ「~」のほうを 使えばいいんじゃね? ↓ いいことに気が付いた! ウハwww 俺天才wwwww かくて
Windows では 波ダッシュ が U+FF5C (=全角チルダ) に… 状況を予想するに、字形は Unicode 仕様書に準拠する以上変更ができないのに対して、 ・Shift JIS の 波ダッシュ を Unicode の何に対応させるかとか、 ・”~” の字形に相当する記号を MS-IME で何を候補として出すのかは、 規格があるわけではないので、”~”を 全角チルダに充てるのが一番ストレスがなかった、ってことではないかと…
20.
かくてこういう関係が成り立つ Windows の場合 ASCII UTFSJIS 半角チルダ (0x7E) 全角チルダ (U+FF5E) 波ダッシュ (0x8160) 半角
- SJIS全角 変換 半角 - UTF全角 変換 波ダッシュ (U+301C) 使わない SJIS全角 - UTF全角 変換
21.
でも本来的にはこうだよね 半角チルダ (0x7E) 全角チルダ (U+FF5E) 波ダッシュ (0x8160) SJIS全角 - UTF全角 変換 半角
- UTF全角 変換 波ダッシュ (U+301C) 波ダッシュ同士が 対応するべき 必要?(汗 ASCII UTFSJIS SJIS全角 - UTF全角 変換 半角 - SJIS全角 変換
22.
• 処理系によって、変換方法が違う(汗 現実はこう Windows (CP932) の
MAP 方法 Macとか? (ShiftJIS) の MAP 方法 UTFSJIS 波ダッシュ (0x8160) 波ダッシュ (U+301C) 全角チルダ (U+FF5E)
23.
何が起こるか? • データベースのキャラクターが Shift
JIS • フロントエンド(Webページとか) は UTF • Windows で入力した「~」はデータベースにどう記録されるのか? • iPad で入力した「~」はデータベースにどう記録されるのか? • 記録した文字を読みだして、それぞれの OS で表示させるとどうなる のか?
24.
まとめ • Unicode の例示字形が間違ったのが混乱の源。 •
波ダッシュを全角チルダに充てたことが罪。 • そもそも、なぜ ShiftJIS 時代になかった全角文字が存在するのか… • いまだに全角文字が使用されること自体も罪。 • 半角カナは今すぐ消えるべき。 文字コードの変換は闇。
25.
ところで 全角チルダのコードですが、 U+FF5E って、やけに後ろのほうだと思いません?
26.
こういうわけです。
27.
半角形/全角形 • 互換用の領域。 • 互換文字とは、既存の文字コードとの互換性と往復変換のためだけに 収録された文字 •
ユニコードコンソーシアムは、互換文字は使わないことを推奨 つまり、この領域の文字は使わないほうがよいです。 (極力使わないでください)
28.
ご清聴ありがとうございました
29.
余談 • LT後に質問などで答えたことをまとめておきます。
30.
縦書きの例示字形を 90° 回転させたから。 余談1)
なぜ波ダッシュの例示字形を間違ったか? 〜 〜 ちなみに縦/横 変換はいろいろなパターンがあるのです… 変換なし … 一般の文字 左下⇔右上移動 … 句点/読点 90°回転 … 括弧、鍵括弧 多分、波ダッシュは例外ケース。 http://ja.wikipedia.org/wiki/%E6%B3%A2%E3%83%80%E3%83%83%E3%82%B7%E3 %83%A5#Unicode.E3.81.AB.E9.96.A2.E9.80.A3.E3.81.99.E3.82.8B.E5.95.8F.E9.A1.8C
31.
余談2) ダッシュは日本語? • ダッシュ記号は、一般句読点(General
Punctuation)と呼ばれる U+2000~U+206F の領域にあります。 • 日本語のグループではありません。 • ちなみに ”横の線” な記号は、たとえば以下のものがあります。 (以下がすべてではない) - U+002D Hyphen-Minus ‐ U+2010 Hyphen - U+2011 Non-Breaking Hyphen ‐ U+2012 Figure Dash – U+2013 En Dash — U+2014 Em Dash ― U+2015 Horizontal Bar ー U+30FC Katakana-Hiragana Prolonged Sound Mark (長音記号) ─ U+2500 Box Drawings Light Horizontal (罫線) ━ U+2501 Box Drawings Heavy Horizontal (罫線) 一 U+4E00 いち (漢数字)
32.
余談3) 長音記号はいつから使われ始めたか? • わかりません(汗 •
歴史的かなづかいでは使われてないよね? • 多分明治から。 http://ja.wikipedia.org/wiki/%E9%95%B7%E9%9F%B3%E7%AC%A6#.E9.95.B7.E9.9F.B3.E7 .AC.A6.E3.81.AE.E6.AD.B4.E5.8F.B2 • 調べたところによると、初出は新井白石らしい。 http://www.shochian.com/cho‘onpu.htm
33.
余談4) ¥記号とか • この手の問題は、波ダッシュやダッシュに限らず、その他にもいろい ろ出てきます。注意しましょう。 •
¥ 記号も同様です。 • 特に ¥ 記号は暗黙に変換されたりする場合があるので気を付けま しょう。 ¥ U+005C Reverse Solidus (Backslash) ¥ U+00A5 Yen Sign ¥ U+FFE5 Fullwidth Yen Sign
Download