htmlのid属性には日本語が使えないので、base64urlを使ってエンコードしてみた。

html,cssのId属性に日本語はNG

日本語文字列だけの複数データを処理していたのですが、それぞれのデータのタグにId属性をつけたいと思ったときに、困りました。Idって日本語使えないよね?

 

調べてみました。

 

html、xhtmlcssそれぞれバージョンによっても違うのですが、Id属性やName属性に使える文字は英数、ハイフン、アンダースコア、コロン、ピリオドで、最初の文字はアルファベット。これでいいらしい。
IE4とかだとアンダースコアがNG?みたいな事も出てましたが、まぁ無視で。


ではエンコードしようということで調べてみるとBase64urlがちょうどいい感じ。

そして.NET FrameworkにBase64urlがない・・・。

 

とりあえずさくっと書いてみました。

https://base64url.codeplex.com/

 

とりあえずこれでいけそう。