« 2018年11月 | トップページ | 2019年1月 »

2018年12月27日 (木)

[Visual C++]ソースファイルで使用する日本語コードを変更する。

ソースファイルで使用する日本語コードの変更は、プロジェクトプロジェクトのプロパティで設定する。

  1. ソリューションエクスプローラーウィンドウのプロジェクト名を右クリック→「プロパティ」を選択。
  2. 「校正プロパティ」-「全般」-「プロジェクトの規定値」-「文字セット」。
  3. ここで「Unicode文字セットを使用する」と「マルチバイト文字セットを使用する」のどちらかを選択することでそーしファイルに使用する日本語コードを指定することができる。なお、前者はUTF-16、後者はシフトJIS。

設定後に新規作成するソースファイルは、これで指定をした日本語コードで保存されるようになる。なお、一つのプロジェクト内で複数の日本語コードを使用することができ、最初はUTF-16で、途中でシフトJISに変えても、それぞれはその通りの日本語コードのままで編集もできるし保存もできる。

2018年12月20日 (木)

[Octave]起動直後に自動で実行するコマンドの設定

スタートアップファイル(.octaverc)に書かれたコマンドは、Octaveの起動直後に自動で実行される。スタートアップファイルを置くフォルダーとそのファイル名は、Windows 7では以下のとおり。○○にはアカウント名が入る。Octaveインストール直後は作成されないため、テキストエディターで新たに作成をする。

C:\Users\○○\.octaverc

例えば、スタートアップファイルに以下の1行を記述すると、起動直後に「Hello.」と表示される。

disp("Hello.")

GNU Octave, version 4.○.○
Copyright (C) ○○ John W. Eaton and others.
(表示省略)
Hello.
>>

上記の例の通り、最初のプロンプトが表示される前に実行される。

2018年12月12日 (水)

[R]文字列の文字コードを任意の文字コードに変換する

iconv関数を使う。引数に指定した文字列の文字コードを任意の文字コードに変換する。fromオプションに変換前の文字コードを、toオプションに変換後の文字コードを指定する。

> charToRaw("あ亜")
[1] 82 a0 88 9f
> charToRaw(iconv("あ亜", from = "CP932", to = "eucjp"))
[1] a4 a2 b0 a1
> charToRaw(iconv("あ亜", from = "CP932", to = "utf-8"))
[1] e3 81 82 e4 ba 9c
> charToRaw(iconv("あ亜", from = "CP932", to = "utf-16"))
[1] fe ff 30 42 4e 9c

上記はWindowsのRで文字コードで確認をした例。

WindowsのRの日本語コードは、初期状態ではシフトJIS(正確にはCP932)であるため、fromは「CP932」と指定している。「あ」はシフトJISでは0x82a0、EUCでは0xa4a2、UTF-8では0xe38182、UTF-16では0x3042。「亜」はシフトJISでは0x889f、EUCでは0xb0a1、UTF-8では0xe4ba9c、UTF-16で0x4e9cである。toオプションに「utf-16」を指定すると、ビッグエディアンのBOM(バイトオーダーマーク)である「fe ff」が先頭に付いているのがわかる。

2018年12月10日 (月)

[C#]コマンドラインでコンパイルをする

Visual C#は通常は統合開発環境でコンパイル(ビルド)を行うが、コマンドライン(コマンドプロンプト、PowerShell)でもコンパイルをすることができる。

コンパイラの実行可能ファイル「csc.exe」は、Windows ディレクトリの「Microsoft.NET\Framework\<バージョン>」フォルダーに格納されている。

パスを全て入力して実行してみる。以下は、Visual Studio 2017をインストールした環境での例。バージョン番号は時期により異なるので、エクスプローラーで確認をすること。

PS > C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
Microsoft (R) Visual C# Compiler version 4.7.2558.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.

This compiler is provided as part of the Microsoft (R) .NET Framework, but only
supports language versions up to C# 5, which is no longer the latest version. Fo
r compilers that support newer versions of the C# programming language, see http
://go.microsoft.com/fwlink/?LinkID=533240

warning CS2008: ソース ファイルが指定されていません。
error CS1562: ソースのない出力には、/out オプションを指定しなければなりません。

実行されたことが確認できた。

例えば、ソースファイル「Program.cs」をコンパイルするには、以下のように実行可能ファイルを実行する。

PS > C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe Program.cs

もし、実行可能ファイルに半角空白などが含まれている場合は(下記の例では含まれていない)は、実行演算子&を先頭に付けて実行可能ファイルの指定をシングルクォーテーション「'」で囲む。

PS > & 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe' Program.cs

実行可能ファイルへのオプションは、シングルクォーテーションの外で指定をする。

PS > & 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe' /nologo Program.cs

使い勝手をよくするためにエイリアスを指定した方がよい。以下は、コンパイルのコマンドを「cs」とする例。

PS > Set-Alias cs "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe"
PS > cs
Microsoft (R) Visual C# Compiler version 4.7.2558.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.

This compiler is provided as part of the Microsoft (R) .NET Framework, but only
supports language versions up to C# 5, which is no longer the latest version. Fo
r compilers that support newer versions of the C# programming language, see http
://go.microsoft.com/fwlink/?LinkID=533240

warning CS2008: ソース ファイルが指定されていません。
error CS1562: ソースのない出力には、/out オプションを指定しなければなりません。

これらについては、マイクロソフトの公式ページでも情報が公開されている。

2018年12月 7日 (金)

[R]iconv関数で扱えるエンコーディング(日本語コード)を確認する。

iconvlist関数を使う。iconv関数で使用することができるエンコーディングを返す。

> iconvlist()
(表示省略)
[277] "SHIFFT_JIS"              "SHIFFT_JIS-MS"         
[279] "shift-jis"               "shift_jis"             
[281] "SJIS"                    "SJIS-MS"               
(表示省略)

上記はWindows版で使用した例。これに表示されたエンコーディングは使用することができる。

2018年12月 6日 (木)

[R]iconv関数が使えるかどうか確認をする

capabilities関数の引数に「iconv」を与えて実行する。使える場合はTRUEが返される。

> capabilities("iconv")
iconv
TRUE
> if (capabilities("iconv")) {cat("OK\n")} else {cat("NO\n")}
OK

上記は、iconv関数を使用できる環境で実行した例。使える環境ではTRUEが戻る。それを論理式で使うことができる。

« 2018年11月 | トップページ | 2019年1月 »

無料ブログはココログ

■■

■■■