識別子に顔文字は使えるのか?
なにぶん、深夜なものですから。
さて、くろまるさんの記事を読んで気になってしまいました。寿司ビール問題です。文字コードがらみの問題です。詳しくは検索してみてください。「うへぇ」ってなること請け合いです。
ここ久しく古いシステムのお守りばかりしていたこともあって、顔文字の含まれるSQLを初めてみました。うへぇ。
select * from hoge where piyo = "🙂";
で、ふと、識別子(関数名や変数名など)に顔文字が使えるのか?、なんてことが気になってしまい、寝るタイミングを逃してしまいました。
とりあえずVisual Studioで‥‥、あれ?、入ってない。ああ、Windowsを再インストールした時に、か。じゃあ、ダウンロードだ!
それなりに時間がかかりますので、途中でふと我に返り、こんな時間になにしてるのやら‥‥、ま、いいか~。てな感じで。ほら、深夜ですし。
とりあえずのVB.Netでは不可でした。
Visual Studio 2022、.Net 6.0です。
他は試してませんがきっと同様でしょう。顔文字というより、UTF8の4バイトの文字が不可のようです。「𡈽」や「𩸽」は不可でした。
「🀀」やら「🂡」やらも不可でした。
「🉑」が不可なのは、まぁ、しょーがないですか。
ともあれ、昨今では顔文字や絵文字が普及しつつあるように思います。サポートされてしまう未来もあり得るのでしょう。その時には2バイト文字の問題と同様に4バイト文字も議論になるに違いありません。うへぇ。
ちなみに上に書いた2バイト文字云々は全角文字のことです。漢字やひらがな、カタカナのことです。これについては掘り下げません。朝になってしまいますので。
まぁ、あれです。
先回りして、規約に不可って書いておけばよいでしょう。老害なんて言われちゃうのかもしれませんが。
サポート → 甘味 → 脳ミソの栄養 → 記事 → 🙂