WSLはWin32との文字コードの違いにどう対応しているか? Windows Subsystem for Linux(WSL)には、Win32相互運用性と呼ばれる機能があり、WSLのbashから直接Win32プログラムを起動することができる。WSLのLinuxディストリビューションは、標準の文字コードとしてUTF-8を使うのに対して、Win32プログラムの標準の文字コードは、日本語版Windowsの場合ではShift-JISである。 しかし、WSLやCMD.EXE(コマンドプロンプトウィンドウ)では、お互いをパイプで接続してコマンドを連続して動作させることが可能だ。このときWSLは、コマンドラインを見て、Win32プログラムが適切な文字コードを出力できるように調整をおこなう。具体的には、以下の3つの場合が考えられる。 1. Win32プログラムの標準出力がコンソールに接続しているとき 2.
C++ Advent Calendar 2018 この記事はC++ Advent Calendar 2018 15日目の記事です。 14日目: VTKライブラリ 16日目: C++のエラー処理との付き合い方 当初見積もりよりも大幅に長い記事となり、投稿したのは12/22で1週間遅刻です。すみません。 お知らせ cpprefjpにchar8_t型追加について解説を書きました。ぎゅぎゅっとコンパクトに、また査読を受けて中立的な表現で書いていますので、よければどうぞ。 UTF-8エンコーディングされた文字の型としてchar8_tを追加 - cpprefjp C++日本語リファレンス 追記 全ての開発者が知っておくべきUnicodeについての最低限の知識 - GIGAZINE Unicodeについて簡潔にまとまってるいい記事を見つけました。 Caution この文章には以下の要素が含まれます。苦手
質問 2014年4月21日月曜日 5:19 お世話になります。 VC6;MFCでアプリケーションを作成し、VC2010へプロジェクト移植し その時にマルチバイトからUNICODEへ対応しました。 日本語OSの場合は問題なかったのですが、 日本語OS以外で、リソースのダイアログのコンボボックスのリストに直接埋め込んだ日本語が、文字化けしていることが分かりました。 方法があれば教えてください。 下記はリソースファイルで、「実線」と記述されており、調べてみるとshift-jisコードでした。 IDD_UNIRESOURCE_DIALOG DLGINIT BEGIN IDC_COMBO1, 0x403, 5, 0 0xc08e, 0xfc90, "\000" すべての返信 (13) 2014年4月22日火曜日 7:37 ✅回答済み 新規プロジェクトのDLGのコンボに対して、 VSのリソースエディタ
gcc で Unicode で書かれたソースコードをコンパイルするとか、Unicode 対応の Windows API を使うアプリケーションを生成するとか、そんな場合、ソースコードのはじめのほうに #define UNICODE を書くか、コンパイラオプションで -DUNICODE を書くかすればよい。と。そういったな。あれは本当だ。 一方で、リソーススクリプトにも、Unicode にまつわる問題がある。デフォルトでは、Shift_JIS で記述しなければ文字化けしてしまうのだが、ある方法を使えば、utf-8 で記述できるようになる。 詳細は、以下のサイトに書いてある。 リソーススクリプトで Unicode windresでシフトJISとUTF-8とUNICODEと戯れてみる - 闇鳥の人の好意を無視する道 リソーススクリプトのコンパイラである windres.exe に -c 6500
先人たちの戦いの記録を見ると、windresで漢字の文字化けが激しく、回避策の連続の様だ。だがしかし、今は2013年だ。対策されているに違いない(ソースもあるし)と、言うわけで、しばらく書くつもりがなかったWindowsアプリ(と言ってもメニューバーがあるだけのもの)を書いてみることにした。 結果から言えば… MS932(≒シフトJIS) ちょっと怪しい UTF-8 問題なさそう UNICODE OKだと思われる。ただ、変人の域… ちなみに今回使用しているのは、Windows7(64bit)上でwindres 2.23.1だ。 取りあえず何にも考えないMS932編 Hello Worldのサンプルをどっからか拾ってきて、WNDCLASS or WNDCLASSEXのlpszMenuNameにメニューバーのリソースを登録するだけなので、サンプル掲載は省略。 リソースファイル(rc)のサンプル
Windowsでpipを使ってPyYAMLをインストールしたらUnicodeDecodeErrorが発生してインストールできなかったのでその解決方法です。 Windows 7 Professional SP1 64bit Python 3.6.1 (64bit) pip 9.0.1 エラー内容 PyYAMLをインストールしようとするとUnicodeDecodeErrorが発生してしまう・・・。 >pip install PyYAML Collecting PyYAML Using cached PyYAML-3.12.tar.gz Installing collected packages: PyYAML Running setup.py install for PyYAML ... error Exception: Traceback (most recent call last): F
これは「Visual Studio 2013/2015 で Shift JIS を UTF-8 に自動変換してコードを保存する」の Visual Studio 2017 版です。 2017年にもなってなお Shift JIS で保存される現象に見舞われたので、2017用の拡張機能を作りました(2013/2015 版もあります)。 UTF-8 に自動変換して保存 保存時に System.Text.Encoding.Default(日本語環境では Shift JIS)のファイルを UTF-8(BOM あり)へ変換する Visual Studio 拡張「ForceUTF8」を公開しました。 ForceUTF8 extension ※ Visual Studio から、ForceUTF8 で検索してインストールできます。
こんにちは、hachi8833です。 少し前に、babaさんから「Rubyの内部文字コードはUTF-8じゃないよ」とツッコミがありました。 (追記: 上は会話の途中から切り取りましたのでご了承ください) いきなりの展開にくらくらきましたが、babaさんはさらにたたみかけます。 こうしたことはとっくにご存じの方も多いと思いますが、「Rubyといえば2.0以来UTF-8完全対応なんじゃないの」と勝手に思い込んでた私は脳に掌底を食らったような思いです。ああ、でもこういうことがあるから面白い。 ⚓ プログラミング言語と内部文字コードの関係 まず最初に押さえておきたい点です。プログラミング言語で文字コードに関連する部分は、「文字列」「正規表現」「入出力」「コード中の文字リテラル(""の中など)」「コード中の文字リテラル以外の要素(変数名など)」「ファイル名」などが中心になります。そして文字列に関連し
世の中がほぼUnicode前提になってめでたしめでたし。とはいかなかった現実の話。 String型でできる文字列処理とか、ソースコード自体、特に識別子で使える文字とか。 軽くおさらい: Unicode まあいろんなところでいろんな人が書いてると思うのでさらっと概要だけ。 Unicodeは、元々、「65,536文字あれば十分だろ」とかいう幻想の元、2バイト固定長の文字コードとして作られていました。 もちろん足りなくて、ビット数を拡張。基本が2バイトのままでこの拡張した分を取り扱えるようにしたのが今のUTF-16で、拡張分は2文字分(4バイト)を使って表現。 この、2文字分使って1文字を表すやつのことをサロゲートペア(surrogate pair: 代理対)と呼びます。 あと、ASCII文字も2バイトになるのを欧米人が嫌って、ASCII文字はASCIIコードのまま、逆に漢字・ひらがな・カタカナ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く