←(新しい記事) SSL対応しきれてな... | top | FilterRSSバージョ... (昔の記事)→

おうちにあるMP3検索システムをリニューアルしようとしたら苦戦している件

もう2023年になって2ヵ月経過しようとしているので年始の挨拶はナシで

以前、PHPで制作したおうちMP3検索システムについて、検索用のデータ生成部分をPowerShellにリニューアルしようとしています

以下興味のない人にはどーでも良いプログラミングの話が続くので読みたい方だけ続きを読むからどうぞ

まずPowerShellでMP3のタグ情報を取得する方法を調べたところ、PowerShell標準の機能?(追加のライブラリーをインストールする必要がない)でできそうな説明ページを見つけました。[参考リンク1]
なんだ楽勝じゃんと思ったら、GetDetailsOfの引数がWindowsのバージョンによって異なる模様。
自分だけで使うならまあWindows10用の引数で使うという手もあるのですが、Windows11にしたらまた引数の相関を調べてプログラム改修するの面倒だなぁと思いこの方法はあっさり諦める。

次に見つけたのは外部ライブラリーを使う方法。
taglibsharp[参考リンク2]というライブラリーを使ってMP3のタグ情報を取得することに成功。
と、思ったら最近リッピングした曲のタグ情報は表示できるが、昔リッピングした曲のタグ情報は文字化けする事か判明。
ID3の文字コードがShiftJISだと文字化けしてしまう模様

「じゃあ文字コード判別して文字コードを変換すれば良いや」とおもったのですが、どうやらPowerShellには文字コード判定関数が無いっぽい?
外部ライブラリーのUTF Unknown[参考リンク3]を使えば出来るのか?と思ったら、用意されている文字コード判定関数が(1)テキストファイル (2)ストリーム (3)バイト配列 の3つになっていて、文字列変数をそのまま判定関数に渡すことが出来ない

じゃあ文字列変数を(1)~(3)のどれかに変換すれば良さそうなんですが、
(1)ではファイル出力時に文字コードを指定する必要がある&文字コード判定の都度一時的にファイルを作るのは面倒くさい
(2)のストリームはまだ自分が分かってないのでなんとも言えない
(3)のバイト配列は文字列変数をバイト配列に変換する方法が文字コードがわからないと使えない
ということでほぼ手詰まり状態きゅー
ストリームについて勉強して、(2)の方法で行けたらよいですが、それがダメとなったら途方に暮れるかも…

■この記事は役に立ちましたか?
全然役に立たなかった
役に立たなかった
どちらでもない
役に立った
とても役に立った
この記事の平均評価: 未評価 (0人)
このエントリーをはてなブックマークに追加

| プログラミング::PowerShell | 12:39 AM | comments (0) | trackback (0) |

コメント

コメントする








トラックバックURL

http://horisanu.info/tb.php/348

トラックバック

←(新しい記事) SSL対応しきれてな... | top | FilterRSSバージョ... (昔の記事)→

NEW ENTRIES

RECENT COMMENTS

RECENT TRACKBACK

自分用新刊カレンダー

つぶやき

mstdn.jp@horisanuのつぶやき

PROFILE


ARCHIVES

<前月 2024年11月 次月>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

CATEGORIES

LINK

OTHER

合計:14187
今日:173
昨日:360

POWERED BY