[過去ログ] 文字コード総合スレ part13 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
431: 427 [sage] 2022/04/04(月) 13:55:29.24 ID:A2Pzpe07(2/3) AAS
WSL2, Ubuntu 18.04 で、Ruby の1-liner なら、これで日本語文字列が表示される。
ファイルパスに日本語が含まれていても、WSL2 が変換して正常に処理される

/mnt/c は、Windows 側のCドライブ

chomp で末尾の改行を削除して、1行ずつ処理する。
:encoding "extenc:intenc" の形で、外部/内部エンコーディングを指定する

ファイルがUTF-8 の場合
ruby -e 'File.foreach( "/mnt/c/Users/Owner/Documents/ファイル.txt", chomp: true ) { |line| puts line; break }'

ファイルがCP932 の場合
ruby -e 'File.foreach( "/mnt/c/Users/Owner/Documents/ファイル.txt", encoding: "CP932:UTF-8", chomp: true ) { |line| puts line; break }'
432
(1): デフォルトの名無しさん [sage] 2022/04/04(月) 14:42:22.56 ID:aBZOo9DH(3/3) AAS
>>430
430(1): デフォルトの名無しさん [sage] 2022/04/04(月) 13:33:42.39 ID:0mSmJ0PC(1/3) AAS
Shift JISであればWindowsのコマンドプロンプトで文字化けはしない
全てが文字化けするのか"表"のように特定の文字だけ化けるのか
コンパイラは何を使っているのか等々もう少し詳しく書かないとわからん
特定の文字だけアウトです
本格的なのは別にあるのは知ってますが勉強用なら見やすいのがいいかなと思ってEasyIDECで始めたのでコンパイラはTinyCかと思います
対策調べてたらShiftJISで書くのがそもそもの間違いみたいな話があり困っておりました
433: デフォルトの名無しさん [sage] 2022/04/04(月) 15:48:39.38 ID:A2Pzpe07(3/3) AAS
Windows 専用の環境依存文字じゃないの?

?、丸で囲まれた1とか、
??、はしご高とか

CP932 の文字かも。
たぶん、sjis に含まれていないのかも

Shift_JIS, CP932(Windows-31J)の違いを調べてみれば?
434
(2): デフォルトの名無しさん [sage] 2022/04/04(月) 19:24:33.26 ID:0mSmJ0PC(2/3) AAS
>>432
多分ダメ文字だね
ソ噂浬欺圭構蚕十申曾箪貼能表暴予禄兔喀媾彌拿杤歃濬畚秉綵臀藹觸軆鐔饅鷭
は2byte目が0x5cなのでエスケープ文字と誤認識して文字化けする
ダメ文字の後に半角¥を入れることで回避はできる
printf("表\示");
Borland C++のフリーの日本語版はもう手に入らないんだっけ
435: デフォルトの名無しさん [sage] 2022/04/04(月) 19:35:35.38 ID:i8uhY1ge(1) AAS
開発環境はVisual Studio Community使えば良いのでは
436: デフォルトの名無しさん [sage] 2022/04/04(月) 20:00:31.30 ID:0mSmJ0PC(3/3) AAS
あとはソースをUTF-8で編集してビルドしてコマンドプロンプトでchcp 65001としてUTF-8に切り替えてから実行するとか
コマンドプロンプトのフォントはMSゴシックとかにしておいた方がいいと思う
437: デフォルトの名無しさん [sage] 2022/04/04(月) 22:38:46.29 ID:W9fOauET(1) AAS
>>427
427(6): デフォルトの名無しさん [sage] 2022/04/04(月) 12:19:56.00 ID:A2Pzpe07(1/3) AAS
CP932 とか、ファイルパスにUTF-16 ? とか使っているのは、Windows だけでしょ?
Linux は、UTF-8 で統一されている

全言語はLinux用

Windows用言語は、C# のみ。
特殊なのは、Windows用のネイティブアプリを作る場合だけ。

普通にウェブ開発する場合は、Linux。
サーバー・クラウド・Docker も、すべてLinuxだから

開発者がLinuxしかいない。
それでWindowsでも、WSL2 でLinuxが使えるようにした
どこのLinuxの話?
438: デフォルトの名無しさん [sage] 2022/04/04(月) 23:02:35.76 ID:0ys4BNPk(1) AAS
ありがとうございます
色々考えた結果学習は>>434の方法で続けてみることにします
439
(1): デフォルトの名無しさん [sage] 2022/04/05(火) 00:45:07.42 ID:TsqsF2oT(1/10) AAS
>>434の方法でも同じエラーが発生する
Shift-JISがゴミであることが分かった
コマンドプロンプトからいじるの面倒だしPC買い直す余裕ないしプログラム学習おわり
440: デフォルトの名無しさん [sage] 2022/04/05(火) 00:59:13.18 ID:TsqsF2oT(2/10) AAS
PC買い直す必要まではないのか
しかし先が思いやられるのでプログラム学習はやめにするよ
特に目標があったわけでもないし
ありがとう
441: デフォルトの名無しさん [] 2022/04/05(火) 01:02:33.14 ID:iD4mxYU0(1) AAS
SJISのような日本ローカルのキャラクタセットを外国が意識してくれると思っている方がおかしい。
442: デフォルトの名無しさん [] 2022/04/05(火) 01:07:26.62 ID:TsqsF2oT(3/10) AAS
それはそうなんだが英語力を専門書読めるレベルに上げるなんて今更無理
日本語を母語として20年生きてきた普通の人がプログラミングやるなんて無理なんじゃない?
443: デフォルトの名無しさん [sage] 2022/04/05(火) 01:09:38.64 ID:TsqsF2oT(4/10) AAS
全てを英語で学習するのが最良なのは間違いなさそうだが
全ての日本人プログラマーがそうしてる訳ではないよな?
どこかに道はあるような気はするが…もうどうでもいいわ
444
(1): デフォルトの名無しさん [sage] 2022/04/05(火) 01:54:42.17 ID:lmURjE+L(1) AAS
UTFで統一すればうまく行くかもしれない
445: デフォルトの名無しさん [sage] 2022/04/05(火) 02:09:00.43 ID:vcRNUjlt(1) AAS
>>444
8?16?32?
446: デフォルトの名無しさん [sage] 2022/04/05(火) 02:12:52.85 ID:TsqsF2oT(5/10) AAS
OSがwindowsで設定言語が日本語なのでどこかで詰むのではないかと不安
447: デフォルトの名無しさん [sage] 2022/04/05(火) 14:23:19.00 ID:6a13xz8Z(1/5) AAS
ダメ文字って、20〜30年前の話じゃないの?

sjis が鬼門だから、日本人開発者は皆、Mac を使う。
プログラミング学校もMac限定

Windows 10 Home 版で、
VSCode, WSL2, Linux, Docker Desktop などが出来たのは、ここ2〜3年

これでようやく、WindowsがMacと争えるようになった

Microsoft がLinux技術者を大量に採用して、WindowsからLinuxへ移行したから
448: 427 [sage] 2022/04/05(火) 14:39:26.06 ID:6a13xz8Z(2/5) AAS
>>427
に書いたけど、全言語がBOM無しUTF-8 で、Linux 用

だから、これ以外の物がダメ。
つまり、Windows と、sjis がダメ

クラウドのすべての基幹技術が、Docker で、
AWS, Kubernetes, CircleCI などで使われている。

DockerはLinux の技術だから、
Microsoft も、Linux Foundation に入っている

Linuxを使わないと、インターネット・コンピューターが動かない
449: デフォルトの名無しさん [sage] 2022/04/05(火) 14:51:52.85 ID:TsqsF2oT(6/10) AAS
・日本語でプログラミングの勉強しようと思ったら基本的にwindowsは使ってはいけない
・ここ数年はwindowsでもやれないことはない
ってこと?
とはいえ未だにコマンドプロンプトは良くなさそうだし学習ストップが無難か
450: デフォルトの名無しさん [sage] 2022/04/05(火) 14:55:24.52 ID:TsqsF2oT(7/10) AAS
自分みたいな年寄りはともかく、家にwindowsしかない普通の家庭の子どもが何かのきっかけでプログラミングに興味を持ったとき、そこから先に進む可能性を閉ざしてしまうのが日本ってことになるな
451: デフォルトの名無しさん [sage] 2022/04/05(火) 15:24:31.00 ID:tzt3NmkL(1) AAS
日本語で得られる範囲は対したことが無いので、将来への不安とか考えなくても良いよ
452: デフォルトの名無しさん [sage] 2022/04/05(火) 15:28:13.39 ID:TsqsF2oT(8/10) AAS
プログラミングの勉強する前に英語の勉強しろってことだな
手遅れ感が否めないけど
453: 427 [sage] 2022/04/05(火) 16:07:16.53 ID:6a13xz8Z(3/5) AAS
すべてのシステムは、インターネット・クラウドにあるから、
それを作っているのがLinux なので、全言語はLinux用に作ってある。
だから、全言語BOM無しUTF-8 を使っている

Windows(C#), iPhone(Swift), Android(Dart)など各端末用の言語は、特殊な部類

特にWindowsは、sjis 正確にはCP932 を使っていて、
こういうエンコードを知っている外人は、まずいない

だから、外人が作ったUTF-8, Linux用のコードを、
Windows用にコンパイルしても、日本語でバグる

だから、Ruby on Rails でも、Cloud 9 でクラウド開発するか、Mac を使う。
プログラミング学校もそう

YouTube のRailsの動画でも、
Windows 10, VSCode, WSL2, Linux, Docker Desktop などは、つい最近
454
(1): 427 [sage] 2022/04/05(火) 16:18:30.45 ID:6a13xz8Z(4/5) AAS
Microsoft(MS)のCEO・バルマーが「Linux はガン」と言って毛嫌いしていたけど、
すべてのシステムがクラウド・Linux へ移行して、世の中に取り残されてしまった

MSに残ったのは、Office だけ

それで、MSはLinux技術者を大量に雇い、
Linux Foundation にも入って、Linuxに貢献することにした

それと取り残されているのが、CP932。
世界はUTF-8になっている
455: デフォルトの名無しさん [sage] 2022/04/05(火) 16:25:00.78 ID:TsqsF2oT(9/10) AAS
バルマーって昔壇上で叫んでた変なおっさんか

それはともかく
自分が英語できなさすぎるからかも知れんがMacのUI苦手でな…
もし学習するなら普段使い用とはPC自体分けたほうが良いのかもしれんな
そんな金はないが
1-
あと 547 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.019s