ゼロ幅

ゼロ幅

[4] 零幅 (ぜろはば) (zero width) は、 0 であることです。 零幅文字 (zero-width character) は、 零幅文字です。

[5] 特別な機能を持つことがありますが、制御文字ではありません。

[3] 零幅文字

[8] 結合文字は普通に言う零幅文字とは異なりますが、 非spacing文字零幅と説明されています。

[7] 空白文字も参照。

[1] Unicodeステガノグラフィ with JavaScript - 330k.info ( ()) http://www.330k.info/software/plain-text-steganography-with-unicode

デフォルトで使用する4種の文字(U+200C, U+200D, U+202C, U+FEFF)は、

GmailやOutlook 2010、iPhoneの標準メールアプリにおいて

ゼロ幅として表示

文字化けしない(豆腐にならない)

コピー&ペースト時に保存されるもの

として選定した。

U+200B (ZERO WIDTH SPACE) : ブラウザGmailで送信時に取り除かれる

U+200D (ZERO WIDTH JOINER) : iOSメッセージアプリにて豆腐化

U+2062 (INVISIBLE TIMES) : Outlookで空白扱い

U+2063 (INVISIBLE SEPARATOR) : Outlookで空白扱い

U+200E (LEFT-TO-RIGHT MARK), U+202A (LEFT-TO-RIGHT EMBEDDING), U+202C (POP DIRECTIONAL FORMATTING) : カーソルが行末に行かなくなる

[2] Unicode Text Steganography Encoders/Decoders ( (Irongeek.com著, )) http://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder

Zero Width:

aU+180E U+200B U+200c U+200d U+FEFF U+2060 U+2061 U+2062 U+2063 U+2064

Test string: a᠎b​c‌d‍ef⁠g⁡h⁢i⁣j⁤k

Chrome: U+180E shows as box. All else look good

On Android Twitter: U+200B U+200c U+200d U+FEFF are only ones that show with no space.

On IE: Only U+200B U+200c U+200d U+FEFF U+2060 U+2062 showed no space, U+200c shows as a vertical line, U+200d as a the same line with an x at the tope

Twitter on iOS: U+180E and U+2064 show as boxes, except in zoom where U+180E shows as a box.

Facebook strips: U+200B U+FEFF

Winners? U+200B U+200c U+200d U+FEFF

Spaces:

U+00A0 U+180E U+2000 U+2001 U+2002 U+2003 U+2004 U+2005 U+2006 U+2007 U+2008 U+2009 U+200A U+202F U+205F U+3000

Test string: a b c᠎d e f g h i j k l m n o p q r

Outlook: U+2005 becomes a real space

Twitter: Turns U+00A0 into real space

Facebook strips: Only allows U+180E U+205F U+3000, U+00A0 becomes a space

Safari and Chrome: U+200A looks a little short

On Android Twitter: Most look ok, except maybe U+200A

Most compatible spaces assuming not on Facebook: U+0020 U+2004 U+2005 U+2006 U+2008 U+2009 U+202F U+205F

Line and Paragraph Separators:

U+2028 U+2029

Test string: a b c

Facebook strips all.

Twitter replaces with: U+2070

Unicode Tags:

U+E0000 To U+E007F Unicode tags

Firefox: Looks good

iOS client: Shows boxes

Chrome OS X and Windows: Shows boxes

Android Twitter: Extra spaces

[6] ゼロ幅文字にエンコードした隠し情報で、文書をリークしたメンバーを特定 | 秋元@サイボウズラボ・プログラマー・ブログ () http://developer.cybozu.co.jp/akky/2018/04/leaker-detection-by-zero-width-characters/