« [R]特定の列の値を基準にして2つのtibbleが結合できるか否か確認する | トップページ | [R]リストの各要素に一括で関数を適用する »

2024年2月14日 (水)

[C#]コマンドラインでコンパイルするときのソースファイルの文字コードの指定

-codepageオプションを使う。以下の2行からなるソースファイルをそれぞれWriteLineSjis.cs(文字コードはShift_JISにする)、WriteLineUtf8.cs(同UTF-8)と保存をして、それぞれコードページ識別子である932(Shift_JISのこと)と65001(UTF-8のこと)を指定してコンパイルおよび実行してみる。

using System;
Console.WriteLine("メイショウドトウ役の和多田美咲さんかわいい");

Shift_JISで保存をしたファイルをコンパイルして実行する。

>csc -codepage:932 WriteLineSjis.cs
Microsoft (R) Visual C# Compiler バージョン 4.4.0-6.22608.27 (af1e46ad)
Copyright (C) Microsoft Corporation. All rights reserved.
>WriteLineSjis.exe
メイショウドトウ役の和多田美咲さんかわいい
>csc -codepage:65001 WriteLineSjis.cs
Microsoft (R) Visual C# Compiler バージョン 4.4.0-6.22608.27 (af1e46ad)
Copyright (C) Microsoft Corporation. All rights reserved.
>WriteLineSjis.exe
???C?V???E?h?g?E???a???c???炳??????

UTF-8で保存をしたファイルをコンパイルして実行する。

>csc -codepage:65001 WriteLineUtf8.cs
Microsoft (R) Visual C# Compiler バージョン 4.4.0-6.22608.27 (af1e46ad)
Copyright (C) Microsoft Corporation. All rights reserved.
>WriteLineUtf8.exe
メイショウドトウ役の和多田美咲さんかわいい
>csc -codepage:932 WriteLineUtf8.cs
Microsoft (R) Visual C# Compiler バージョン 4.4.0-6.22608.27 (af1e46ad)
Copyright (C) Microsoft Corporation. All rights reserved.
>WriteLineUtf8.exe
繝。繧、繧キ繝ァ繧ヲ繝峨ヨ繧ヲ蠖ケ縺ョ蜥悟、夂伐鄒主調縺輔s縺九o縺・>

オプションに指定したコードページとソースコードの文字コードが合っていなくてもコンパイルはできるが、文字コードは指定どおりに解釈されてコンパイルされてしまうことに注意。

コードページ識別子の一覧は以下を参照のこと。
https://learn.microsoft.com/ja-jp/windows/win32/intl/code-page-identifiers

« [R]特定の列の値を基準にして2つのtibbleが結合できるか否か確認する | トップページ | [R]リストの各要素に一括で関数を適用する »

C#」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [R]特定の列の値を基準にして2つのtibbleが結合できるか否か確認する | トップページ | [R]リストの各要素に一括で関数を適用する »

無料ブログはココログ

■■

■■■