[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#」カテゴリの記事
- [C#]リストの要素を削除する(2024.05.02)
- [C#]リストに要素を追加する(2024.03.10)
- [C#]リストを作成する(2024.03.09)
- [C#]エラー「CS8370 機能 'target-typed オブジェクトの作成' は C# 7.3 では使用できません。9.0 以上の言語バージョンをお使いください。」(2024.03.08)
- [C#]StreamWriterクラスを使用して文字コードを指定してファイルに書き込む(2024.03.07)
« [R]特定の列の値を基準にして2つのtibbleが結合できるか否か確認する | トップページ | [R]リストの各要素に一括で関数を適用する »

コメント