Qiita
HTML
Markdown
文字コード
unicode

Qiitaの投稿で@をエスケープする

結論

@￰foo または @￰foo と入力すればよい。 こうなる -> @foo
(2018年6月現在、&#xFFF0から&#xFFFCの間の文字コードだったらいけます。将来使えなくなる可能性があるので、その点だけご注意ください。)

詳細

Qiitaで投稿を書いているとき、@の後ろに半角英字を続けると、 @foo のようにデコレートされてユーザーへのメンションになりますが、そうしたくないときもありますよね。しかし、@をエスケープしようとするとこうなります。

「バックスラッシュでエスケープされんじゃね?」\@foo -> 残念

「実体参照を使えばエスケープされるかも?」 @foo -> 残念
(アットマークではなく @fooと入力してます。)

「じゃあ半角スペースを入れる」 @ foo -> ダサい

「じゃあバッククウォートで囲む」 @foo-> 強調したくないときもあるじゃないですか

じゃあどうするか?

特殊用途文字(Specials)」(仮に「非文字コード」とこの記事の作者は呼んでいますが)が使えます。2018年6月現在、この記事で紹介されているFFF0以外にも、FFF0からFFFCまでの文字コードは同様に利用できます。(将来的にこれらの文字コードに文字が割り当てられた場合、今回の用途には利用できなくなる可能性はあります。)

ただ、記事で紹介されているような形で使うたびにコピーしなくてはならないのはつらい。そこで、実体参照を使おうということになります。U+FFF0について見てみると、実体参照としては￰￰ を使えばいけそうだとわかります。こんな感じです。

@￰bar (<- @&#xFFF0;bar)
@￰bar (<- @&#65520;bar)

わーい。

参考

HTML Symbol Entities
https://www.w3schools.com/charsets/ref_html_symbols.asp
Markdownのtable記述でのエスケープ
https://qiita.com/takashisite/items/f3000d46d39a61930dc5
Specials (Unicode block)
https://en.wikipedia.org/wiki/Specials_(Unicode_block)
Twitterで@(アットマーク)をエスケープする方法
https://qiita.com/innossh/items/f719dc78816c2d5fbcfa
Undefined Character (U+FFF0)
https://www.compart.com/en/unicode/U+FFF0
ブロック(Unicode)https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF_(Unicode)