X



WindowsはNT3.1の頃からすでにUnicode対応している
0001名無し~3.EXE
垢版 |
2018/01/09(火) 21:58:14.71ID:4bQ5N08X
Unicode対応というのは、UTF-8、UTF-16、UTF-32のいずれかが使われているということ
(他にUCS-2やUCS-4など今は殆ど使われていないものも有るが省略)

WindowsはNT3.1のころからUCS-2、Windows 2000からはUTF-16に対応している。
なぜUCS-2なのか?というとUTF-8もUTF-16も当時は存在していなかったから
つまりWindowsはかなり早い時期にとっくにUnicode対応をしている

■Windows は Shift-JISじゃなかったの!?
違う。一番わかり易い話をするならば、Shift-JISは日本語専用。言うまでもなくWindowsは多言語対応。
外国で日本語専用の文字コードが使われているわけがない。もう一つの例はファイル名に
「白抜きのハート」が使えることからも明らかにわかる。これはShift-JISにはなくUnicodeにしかない文字

どうしてこのような勘違いをする愚か者がいるのかというと、Unicodeに対応していない古いアプリの話をしてるから
Unicodeに対応していない古いアプリの互換性を維持するため(さすがWindowsの互換性は高い!!!)に、
「Unicode対応ではないプログラムの言語」の設定が日本語になっている
https://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=019795
もちろんUnicode対応のアプリではUnicodeが使われる。だからWindowsはUnicode対応で、Shift-JISなのはアプリの問題
古いアプリを切りしてたら困るだろう?ちゃんとWindowsは対応してる。

■ 歴史
1991年10月 Unicode 1.0 (UCS-2登場 最大65,536文字)
1993年07月 Windows NT3.1 リリース (UCS-2対応)
1996年07月 Unicode 2.0 (UTF-16登場 最大1,048,576文字)
1996年09月 Windows NT3.5 リリース
1996年10月 ISO/IEC 10646-1:1993/Amd.1制定 Transformation Format for 16 planes of group 00 (UTF-16)
1996年10月 ISO/IEC 10646-1:1993/Amd.2制定 UCS Transformation Format 8 (UTF-8)
2000年02月 Windows 2000 リリース

■ 参考
https://ja.wikipedia.org/wiki/Microsoft_Layer_for_Unicode
https://en.wikipedia.org/wiki/Unicode_in_Microsoft_Windows
https://ja.wikipedia.org/wiki/ISO/IEC_10646
0003名無し~3.EXE
垢版 |
2018/01/09(火) 22:12:18.95ID:SLxp5F27
)())()()())(((()(((()())(((())()))())))()))((()((()))())())()(((())((())(
)()()(()(()()((())()())(((()))))(()))())(()()))(()(((())((()(()))))(()()(
((()()()(()))))(())(()((())))))(((((()((())(())()()())))))()(())(()(((())
)()()))(()()(((((((()(()()((()())((())(()))(()(()()()()(()()))()))())))))
))((((()((())(()())())(()(()))))((((((()))))(((()(()()))))))()(()(())(())
()(()((((((()))))(())())(()))((((()())))(())))()()())))(((()()()())())(((
)(()((((()(())(())(((())((((())))((((())(())(()(())))(()())))())))))(()))
))((((())())(((()())()())((())())((()))))())()(())(()(())(()((()))))(()((
)())((()()))())))()()()))())())()()()((())()(((())(())(()((())())((()((((
)())(()(((()()(((()()))()((()))((((())(()))))()(((()(())))()()))(())(()))
)(()(((()()(()(()))()(()((((()())))()(((())(())())))))()(()(()))(()(())))
(()())(())()()))()())))())))))())())())(((()))(())((((())((())()(((((((((
)(((()()(())())))))(((()(())()))()(((()(()((((()()))(())))()(()(((())))))
))))(((()))()(()(((()(())))))()()))((()()))()()(()((()(())())()())(()((((
(((()(((())))((((())))(()))))(())))())())))()((()((()(()()()))()((())()((
(()()))())((())(()()())(()()))())()()))()(((((())))()(((((())()(()(())())
)(((((((((())))))))((((((()))()())(((()()(((())(())(()))(())))))()))))(()
((((()())))()))(()())())(())))()(()))))((())())(((((()())(((())()(())((()
))))))))((((()((())())())))()(()(()())()())(()))))()((((((())(()(((())(((
()(())())()))))())))((((()))))((())))()())((()())()))(((()(())(((((()((((
)((((()))(()()))()(()))()()()(()((()))()())()((((()(()))(()(())())()(()))
))((())()))((())()()(((())(())))((((()()()())(((((()())((())())()(())))))
)(()()()()))()())()()()()()))())()())())((()((()())())))()((()(((()((()((
())))((()))((((())))))())(())()()(((()())()()(((()))))((())((()()))(((()(
))(()))((((()()))())())()()(()()(()))))(()())(((())())((()(((())())))((((
()))(()()((((((()(()))())())())((())()())(((()))((()()))()))))()))(((()((
0004名無し~3.EXE
垢版 |
2018/01/10(水) 00:04:12.86ID:docvWLOJ
>>1
興味深いし、参考になった
プラスモデしちゃう

へぇ、へぇ、へぇ
0005名無し~3.EXE
垢版 |
2018/01/10(水) 01:12:02.30ID:4DItnmUK
10でè使ったらエラー出る
外国産のアプリなんだけど
0006名無し~3.EXE
垢版 |
2018/01/10(水) 18:41:34.13ID:fZ3RBTPj
骨がきちんと書けないなんてネタにしてたよな
0007名無し~3.EXE
垢版 |
2018/01/11(木) 01:43:23.04ID:k2x9wF8/
HPをS-jisで書かれていい迷惑だったわ。
Unicode読めるならUnicodeで書けよ。

ユーザもS-jisで読めると思ってたアホ多かったから意識も悪かったんじゃね?
いちいち文字コード変換しないといけないから、いい迷惑だったわ。

Unicode普及する前のWEB標準はEUC-JP S-jisじゃない。
0008名無し~3.EXE
垢版 |
2018/01/11(木) 04:52:34.14ID:MMO09KO4
> Unicode普及する前のWEB標準はEUC-JP S-jisじゃない。

何故かと言うとLinuxのせい
Linuxのカーネルは主にC言語で作られている
多くのアプリも直接的 または 間接的にC言語で
作られているものを利用している。だからC言語のせいとも言える

C言語では文字列は、NULL文字(文字コード0)で終わる
バイトの並びになっている。他の言語では、文字列の長さ情報+文字のバイト列 に
なっているものがあるがC言語ではそうではない。

これが何を意味するかというと、文字列を表現するバイト列にNULL文字を含められないということ
よってUTF32やUTF16はLinuxで扱うのが難しい。多バイト文字に考慮しないといけない
またC言語では、文字列の中の\マークは特殊な意味を持つため、
文字列の中に\と同じ文字コードを使うことができない、Shift-JISはこれに当てはまる

このようにLinux(C言語)ではカーネルが対応できる文字コードがWindowsよりも少ない。
EUC-JPやUTF-8のようにLinux(C言語)で安全に使えるように考慮された
文字コードしか使えない
0009名無し~3.EXE
垢版 |
2018/01/11(木) 14:46:21.59ID:8ypuLgoW
なんで急にWWWの話ししてんだ?
0010名無し~3.EXE
垢版 |
2018/01/11(木) 21:09:35.73ID:UlETQoiU
まーNTは対応していたよな。
限定的ではあったが
0011名無し~3.EXE
垢版 |
2018/01/13(土) 00:54:39.31ID:LEYBcoWj
ファイル名についても書いておきますかね?

NTFSは最初からファイル名はUnicode
Unicodeに対応してない古いアプリのために
わざわざ変換してあげているが、それはアプリの問題であり
Unicodeに対応しているアプリは普通にUnicode
0012名無し~3.EXE
垢版 |
2018/01/13(土) 00:56:28.16ID:0eoFBSR4
機種依存文字使うのがマナー違反だけなのに大げさにMS擁護するバカがいるな。
0013名無し~3.EXE
垢版 |
2018/01/13(土) 01:15:29.34ID:LEYBcoWj
もう一つzipの話についても書いておきますか

これはもうOSは全く関係ない。
zipという形式をどう扱うかの話

まず前提として初期のzipは文字コードは特に決まっていなかった。
だからASCIIコードを入れてもShiftJISを入れてもUnicodeを入れても
仕様上は問題なし。その場合、圧縮したときと展開する時とで
同じ文字コードを前提としていなければ文字化けが起きる

繰り返すがこれはOSは全く関係ない話
zipというファイルフォーマット自体の問題

後にzipにはUnicode(UTF-8)ファイル名の仕様が追加された。2006年の事だ。
(XPが2001年、Vistaが2006年、7が2009年にそれぞれリリースされている)
https://en.wikipedia.org/wiki/Zip_(file_format)#Version_history
> 6.3.0: (2006)[15] Documented Unicode (UTF-8) filename storage. Expanded list of supported hash, compression (LZMA, PPMd+), encryption algorithms.

これを受けてWindows 7用にUTF-8ファイル名の仕様に対応するためのパッチがでている
https://support.microsoft.com/ja-jp/help/2704299/japanese-characters-in-file-names-are-displayed-as-garbled-text-after
これを適用していれば、UTF-8で格納されている場合は、UTF-8ファイル名として展開することができる(Windows 8以降は標準対応)

ただしzipファイルを作成するときは「Unicode対応ではないプログラムの言語」の設定が使われる
Windowsは互換性を大切にしているのでWindows 7以前、もしくは7でパッチを当てていない人でも正しく展開できるようにしている。

端的にいうならばWindows7+パッチ以降であれば(同一言語の)Windowsで作成されたzipもMacOSで作成されたzipも
正しく展開できる。そしてWindowsで作成されたzipなら、展開PCが古くても(同一言語)のWindowsなら正しく展開できる。
それに対してMacOSで作成されたzipはUTF-8限定なので、古いWindowsだと文字化けを起こしてしまう。(新しいWindowsなら問題ない)
そしてWindowsで作成されたzipはMacOSでは対応してるソフトを使わない限り文字化けを起こしてしまう。
つまり最新の環境でzip内のファイル名の文字化けで苦しまむのはMacOSだけなのである
0014名無し~3.EXE
垢版 |
2018/01/13(土) 01:19:14.74ID:LEYBcoWj
>>12
Unicodeに機種依存文字は存在しない

まあUnicodeはバージョンが有るから、
「最新のUnicode仕様に対応して無くて表示できない文字」はあるがねw
0015名無し~3.EXE
垢版 |
2018/01/13(土) 03:01:06.48ID:LEYBcoWj
デマ流すやつを黙らさせるためにわざわざ日本語が含まれるzipを作ってやった。つかgithubだが

https://gist.github.com/anonymous/c329b5f6cc60229a59240b39ca3b3afc

右上のDownload ZIPからzip形式でダウンロードできる。
それをWindows 10のエクスプローラーから開いてみろ
ちゃんと日本語ファイル名も絵文字ファイル名も表示される。
当然だ。ShiftJISになんか変換せずに、Unicodeのまま扱ってるんだからな
ShiftJISでは絵文字なんか使えない!!!だからこれは確実にUnicode(UTF-8)のファイル名だ
0016名無し~3.EXE
垢版 |
2018/01/13(土) 20:29:39.12ID:hhvBNPzv
どこまでがOSでどこからがアプリの事なんだ??
メモ帳とかコマンドはアプリ?
OSってカーネル部分の話?
0017名無し~3.EXE
垢版 |
2018/01/13(土) 22:16:27.85ID:LEYBcoWj
>>16
Windowsに日本語版なんてのはないのだから
どの言語にも対応してるよ。

ほとんどはUnicode対応で、一部対応してないのが有るかもしれないけど
その場合「Unicode対応ではないプログラムの言語」の設定に従って動くから
言語を切り替えることができる

ちなみにメモ帳はUnicode対応しているから、UTF-8で保存できる
互換性維持のため初期値は「Unicode対応ではないプログラムの言語」の設定に従う
0018名無し~3.EXE
垢版 |
2018/01/14(日) 21:05:49.46ID:DPPGMZMU
NT3.1のメモ帳って、UTF-8で保存できた?
0019名無し~3.EXE
垢版 |
2018/01/15(月) 00:13:38.41ID:hHi/BS9j
>>18
当時UTF-8自体がないんでできるわけないよw

もちろんUnicode対応はしてる。その時に使えるエンコードはOS標準でもあるUTF-16だろう
(当時はサロゲートペアも存在しなかったのでUCS-2というべきかな?)



ちょっと調べていて面白いものを見つけた
http://yanok.net/2016/03/utf-16-unicode.html

> ちなみにUnicode 8.0仕様書ではUTF-16の "origin" について、
> 「UTF-16 is the historical descendant of the earliest form of Unicode,
> which was originally designed to use a fixed-width, 16-bit encoding
> form exclusively.」(2.5 Encoding Forms)と説明されています。
>
> なので前世紀に書かれた文書やプログラムでは「Unicode = UCS-2」という前提があり、
> それを漫然と引き継いでいると、「Unicode」と言っているのが実質的にはUTF-16を指していることがあるわけです。
0020名無し~3.EXE
垢版 |
2018/01/15(月) 22:13:53.58ID:J6cKFvH5
ちゃんと2バイト文字処理出来たらいきなりダウン事件は無かったかもな。
当時しらんお子ちゃまか。
0021名無し~3.EXE
垢版 |
2018/01/15(月) 23:33:47.57ID:hHi/BS9j
>>20
知ってる。鮫島事件のことだろ?
当時を知らん人はぐぐれ
0023名無し~3.EXE
垢版 |
2018/01/16(火) 02:53:15.42ID:82oKdAtX
どっちも事件がないという点で同じ
0024名無し~3.EXE
垢版 |
2018/01/16(火) 09:58:55.57ID:UMYEkyg1
DEC出身のカトラーが作ったのでいろいろ先進的なのは当然

最初からX86以外のアーキテクチャへの移植性も考慮されているし
(※その他のCPU自体が普及するかどうかはともかく

NTFSは64ビットアドレスで今でも使えるし。
0025名無し~3.EXE
垢版 |
2018/01/16(火) 11:59:06.27ID:ZZe1BxCe
対応が早すぎた故にUTF-8が使えず
Unicodeを使うにはいちいちwchar系APIを別に用意して
明示的に使わなきゃいけないというクソ実装をせざるを得なかった
今でも引きずってる
0026名無し~3.EXE
垢版 |
2018/01/16(火) 19:06:42.06ID:F2Ozkn/8
>>23  だのヲタはしらんだろうが。かなり有名な話ななdけどね。


   
    
0027名無し~3.EXE
垢版 |
2018/01/16(火) 19:50:02.46ID:Ntl3m0Zg
>>25
VCならTCHARで普通に書いとけば
マクロで勝手に切り替わるけどな。

#ifdef UNICODE
#define MessageBox MessageBoxW
#else
#define MessageBox MessageBoxA
#endif

てな具合で
0028名無し~3.EXE
垢版 |
2018/01/16(火) 19:51:26.23ID:Ntl3m0Zg
そもそも採用が早いかどうかより
Win9xとの互換性のせいだし
0030名無し~3.EXE
垢版 |
2018/01/21(日) 13:22:52.67ID:6zsbXn/3
サロゲとか文字変換が絡むと結局自分で書くことになるから
wchar_t決め打ちでええやんとなる
0031名無し~3.EXE
垢版 |
2018/03/29(木) 19:31:08.51ID:QqMvARyX
>>18
確かNT3.1はUnipadとおいうユニコード対応のメモ帳が普通のメモ帳とは別アプリに
なっていた希ガス。NT3.5で統合された
0032名無し~3.EXE
垢版 |
2018/03/29(木) 22:48:27.36ID:1qJQ/0Zv
>>1
一番大事なのはファイル名にユニコードが使えることですよ。
Windowsはそれができないんだよ。
0033名無し~3.EXE
垢版 |
2018/03/29(木) 22:53:36.68ID:1qJQ/0Zv
ファイル名に使えないので多言語対応でOSが作れないだよ。
国別にWindowsの作っている。インストーラが国別になっているのはそのせい。
Macだと1つインストーラで全世界対応なので
個別の国版は基本存在しない。
結局バラバラ作っているとローカルなバグは本社に上がらない。
改造して各国版作っているので、コンパネとか英語だと機能順にならんでも
日本語の言語で並び替えを行うので、開いてクリックする直前にアイコンが飛ぶ
おかしな作動をする羽目になる。
Windowsの作りが適当すぎるところがクソなんだよ。
Macのパクリが足りない。
0034名無し~3.EXE
垢版 |
2018/03/30(金) 15:49:52.66ID:vdCbGgh6
>>32
NTFSなら使えると思うが
0035名無し~3.EXE
垢版 |
2018/04/14(土) 09:03:31.94ID:bjU8wbsw
25
0036名無し~3.EXE
垢版 |
2018/05/01(火) 10:24:28.14ID:COVLPEu4
友達から教えてもらった簡単確実稼げる秘密の方法
関心がある人だけ見てください。
グーグルで検索するといいかも『金持ちになりたい 鎌野介メソッド』

GS0MM
0037名無し~3.EXE
垢版 |
2018/05/13(日) 16:52:57.08ID:y8Urd9pR
友達から教えてもらったネットで稼げる情報とか
興味がある人はどうぞ
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

QT8B8
0038名無し~3.EXE
垢版 |
2020/12/28(月) 23:40:54.78ID:aP42lhED
WindowsはNT3.1の頃からすでにUnicode対応しているのか
0040名無し~3.EXE
垢版 |
2023/01/24(火) 20:07:42.68ID:TNuHtL9B
≡ 
0041名無し~3.EXE
垢版 |
2023/01/24(火) 20:27:08.19ID:WwZYOUAi
対応してない。
ファイルフォーマットとして利用可能は考えていたようだが
実際は日本語の場合Shift-JISオンリー設計なので動かない。
MS-DOS互換が足を引っ張る直接の原因になってる。
いまだに検索がうまくいかないとかはそのあたり
0042名無し~3.EXE
垢版 |
2023/09/13(水) 10:58:30.24ID:wSrriUGC
いまさらだけど…

https://ao-system.net/note/204

Windows11、Windows10の21H2からファイル名の文字コードの扱いがUTF-8に。
カテゴリー:その他
記事作成日:2022.06.07

まっさらのWindows11を使って気付くとは…
0043名無し~3.EXE
垢版 |
2023/09/13(水) 11:24:02.83ID:mm2EqcQ1
だんだん使えなくなるWindowsを持ち上げる連中が知れない
0044名無し~3.EXE
垢版 |
2023/11/24(金) 20:24:36.32ID:areoOakD
Windows 3.1のTTFフォントも内部的にはUnicodeなんだよね
0045名無し~3.EXE
垢版 |
2024/03/29(金) 00:00:51.41ID:Ylgxl1i7
深夜帯からの企画引き継いで
深夜ドラマにアシガールに朝ドラ
めっちゃ美人
0046名無し~3.EXE
垢版 |
2024/03/29(金) 01:10:09.82ID:5d8uT3Gi
ヅラオ滅亡
1番少ないのに体調不良のための帰国なの
もうおっさんが美少女化してもズルズル…
レスを投稿する


ニューススポーツなんでも実況