質問するログイン新規登録
PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Q&A

解決済

3回答

839閲覧

全角円マーク「¥」のAnsiコードが知りたいです。

moo1211

総合スコア3

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

1グッド

0クリップ

投稿2023/06/29 05:01

編集2023/06/29 05:12

1

0

実現したいこと

powershellを使ってAnsiコードを調べようとしています。
全角円マーク「¥」のAnsiコードが知りたいです。
全角文字はAnsiコードが存在しないのでしょうか?

発生している問題・エラーメッセージ

値 "¥" を型 "System.Byte" に変換できません。エラー: "符号なしバイト型に対して値が大きすぎるか、または小さすぎます。" 発生場所 行:1 文字:1 + $a = [byte][char]"¥" + ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) []、RuntimeException + FullyQualifiedErrorId : InvalidCastIConvertible

該当のソースコード

C:\Work> $a = [byte][char]"¥" C:\Work> $a

試したこと

https://hiros-dot.net/PowerShell/string/string06.htm

こちらのサイトを参考にAnsiコードを調べようとしましたが、うまくいきませんでした。
半角文字に関してはAnsiコードを調べることができました。

melian👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

melian

2023/06/29 05:15

[int][char]"¥"
moo1211

2023/06/29 05:27

ご回答ありがとうございます! 正常終了して解決した気がします、、 コメントではなく回答としていただければベストアンサーにさせていただきたいと思うのですが、そういうのが面倒であればお読み捨てください。 ありがとうございました!
melian

2023/06/29 05:30

ありがとうございます、回答に転記しました。
moo1211

2023/07/20 05:59

Zuishin様 ご連絡が遅くなり大変申し訳ございません、ご返信いただきありがとうございます! ご提供いただいたリンクについて時間のある時に確認させていただきたいと思います。 (プログラミング言語の公式の?リファレンスを見に行くことがあまりなかったので、これを機に面倒がらずに確認するようにしていきたいと思います) この度はご返信いただきありがとうございました!
guest

回答3

0

全角円記号にANSIコードは無いです。なぜならばANSIとはアメリカの標準規格(日本で言うJIS)なので、全角円記号は無いです。ANSIコードはいわゆるASCIIコードです。

[int][char]"¥"で得られるのはUnicodeのコードポイントです。16新表記でFFE5。よくあるコードポイントの記法で書くとU+FFE5

Windowsのメモ帳でShift_JISで保存する場合、何故かANSIを選択する仕様になっているので、ANSIとShift_JISを同一視している人もいるようなのですが、Shift_JISコードを知りたい場合は、can110さんの回答の通りで、16進数表記すると818Fです。

投稿2023/06/29 07:35

otn

総合スコア86459

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

moo1211

2023/07/20 05:51

otn様 ご返信が遅くなり大変申し訳ございません、ご回答いただきありがとうございます! とても勉強になりました、ANSIが何を意味しているのかやANSIがASCIIコードであること等を考えられていなかったので全体を整理いただけてとても助かりました。 この度はご回答いただきありがとうございました!
guest

0

ベストアンサー

powershell

1PS> $a = [int][char]"¥" 2PS> $a 365509 4 5PS> $a.GetType() 6IsPublic IsSerial Name BaseType 7-------- -------- ---- -------- 8True True Int32 System.ValueType

投稿2023/06/29 05:30

melian

総合スコア21526

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

すでに解決されていますが、個人的にはANSI(Shift-JIS)な文字(String)を一個の数値に変換するのはとても違和感があるので、私なら以下のような感じでByte配列にして処理します。
参考:PowerShell で文字列をバイト配列に変換

なお、のコードはシフトJIS漢字コード表 - とほほのWWW入門などで確認できるとおり16進表記で818Fです。

PowerShell

1(base) PS C:\work> $s = "¥" 2(base) PS C:\work> $s.GetType() 3 4IsPublic IsSerial Name BaseType 5-------- -------- ---- -------- 6True True String System.Object 7 8(base) PS C:\work> $b = [System.Text.Encoding]::GetEncoding("shift_jis").GetBytes($s) 9(base) PS C:\work> $b.GetType() 10 11IsPublic IsSerial Name BaseType 12-------- -------- ---- -------- 13True True Byte[] System.Array 14 15(base) PS C:\work> $b 16129 17143

投稿2023/06/29 05:59

編集2023/06/29 06:08
can110

総合スコア38350

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

moo1211

2023/07/20 05:48

can110様 ご返信が遅くなり大変申し訳ございません、ご回答いただきありがとうございます! とても勉強になりました、内容について時間のある時に実験してみようと思います。 自分でもwebで検索したつもりだったのですが、とほほのwww入門のようなサイトは見つけることができなかったので、今後も勉強していきたいと思います。 この度はご回答いただきありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問