Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日本高清视频一区二区三区,免费日本一区,日韩去日本高清在线

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          html原始字符及其用法

          箭頭類

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS



          ?

          \u21E0

          E0

          ?

          \u21E2

          E2

          ?

          \u21E1

          E1

          ?

          \u21E3

          E3

          ?

          \u219E

          9E

          ?

          \u21A0

          A0

          ?

          \u219F

          9F

          ?

          \u21A1

          A1

          \u2190

          90

          \u2192

          92

          \u2191

          91

          \u2193

          93

          ?

          \u2194

          94

          ?

          \u2195

          95

          ?

          \u21C4

          C4

          ?

          \u21C5

          C5

          ?

          \u21A2

          A2

          ?

          \u21A3

          A3

          ?

          \u21DE

          DE

          ?

          \u21DF

          DF

          ?

          \u21AB

          AB

          ?

          \u21AC

          AC

          ?

          \u21DC

          DC

          ?

          \u21DD

          DD

          ?

          \u219A

          9A

          ?

          \u219B

          9B

          ?

          \u21AE

          AE

          ?

          \u21AD

          AD

          ?

          \u21E6

          E6

          ?

          \u21E8

          E8

          ?

          \u21E7

          E7

          ?

          \u21E9

          E9

          \u25B2

          B2

          ?

          \u25BA

          BA

          \u25BC

          BC

          ?

          \u25C4

          C4

          ?

          \u2794

          94

          ?

          \u2799

          99

          ?

          \u27A8

          A8

          ?

          \u27B2

          B2

          ?

          \u279C

          9C

          ?

          \u279E

          9E

          ?

          \u279F

          9F

          ?

          \u27A0

          A0

          ?

          \u27A4

          A4

          ?

          \u27A5

          A5

          ?

          \u27A6

          A6

          ?

          \u27A7

          A7

          ?

          \u27B5

          B5

          ?

          \u27B8

          B8

          ?

          \u27BC

          BC

          ?

          \u27BD

          BD

          ?

          \u27BA

          BA

          ?

          \u27B3

          B3

          ?

          \u21B7

          B7

          ?

          \u21B6

          B6

          ?

          \u21BB

          BB

          ?

          \u21BA

          BA

          ?

          \u21B5

          B5

          ?

          \u21AF

          AF

          ?

          \u27BE

          BE





          ? 基本形狀類

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS



          ?

          \u2764

          64

          ?

          \u2708

          08

          \u2605

          05

          ?

          \u2726

          26

          ?

          \u2600

          00

          \u25C6

          C6

          ?

          \u25C8

          C8

          ?

          \u25A3

          A3

          ?

          \u263B

          3B

          ?

          \u263A

          3A

          ?

          \u2639

          39

          ?

          \u2709

          09

          ?

          \u260E

          0E

          ?

          \u260F

          0F

          ?

          \u2706

          06

          ?

          \uFFFD

          \FFFD

          ?

          \u2601

          01

          ?

          \u2602

          02

          ?

          \u2744

          44

          ?

          \u2603

          03

          ?

          \u2748

          48

          ?

          \u273F

          3F

          ?

          \u2740

          40

          ?

          \u2741

          41

          ?

          \u2618

          18

          ?

          \u2766

          66

          ?

          \u9749

          49

          ?

          \u2742

          42

          ?

          \u2625

          25

          ?

          \u262E

          2E

          ?

          \u262F

          2F

          ?

          \u262A

          2A

          ?

          \u2624

          24

          ?

          \u2704

          04

          ?

          \u2702

          02

          ?

          \u2638

          38

          ?

          \u2693

          93

          ?

          \u2623

          23

          ?

          \u26A0

          A0

          ?

          \u26A1

          A1

          ?

          \u2622

          22

          ?

          \u267B

          7B

          ?

          \u267F

          7F

          ?

          \u2620

          20

          ¥ 貨幣類

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS



          $

          $

          \u0024

          >\0024<24

          ¢

          \u00A2

          >\00A2<>

          £

          \u00A3

          >\00A3<>

          ¤

          ¤

          \u00A4

          >\00A4<>

          \u20AC

          AC

          ¥

          \u00A5

          >\00A5<>

          ?

          \u20B1

          B1

          ?

          \u20B9

          B9

          ? 數(shù)學(xué)類

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS



          ?

          ½

          \u00BD

          >\00BD<>

          ?

          ¼

          \u00BC

          >\00BC<>

          ?

          ¾

          \u00BE

          >\00BE<>

          ?

          \u2153

          53

          ?

          \u2154

          54

          ?

          \u215B

          5B

          ?

          \u215C

          5C

          ?

          \u215D

          5D

          \u2030

          30

          %

          %

          \u0025

          >\0025<25

          <

          <

          \u003C

          >\003C<3C

          >

          >

          \u003E

          >\003E<3E

          ? 音樂符號類

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS



          ?

          \u2669

          69

          ?

          \u266A

          6A

          ?

          \u266B

          6B

          ?

          \u266C

          6C

          ?

          \u266D

          6D

          ?

          \u266F

          6F

          ? 對錯(cuò)號

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS




           

          \u00A0

          >\00A0<>

          ?

          \u2610

          10

          ?

          \u2611

          11

          ?

          \u2612

          12

          ?

          \u2713

          13

          ?

          \u2714

          14

          ?

          \u10005

          005

          ?

          \u2716

          16

          ?

          \u2717

          17

          ?

          \u2718

          18

          ★ 全都是星星

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS



          \u2605

          05

          ?

          \u272D

          2D

          ?

          \u272E

          2E

          \u2606

          06

          ?

          \u272A

          2A

          ?

          \u2721

          21

          ?

          \u272F

          2F

          ?

          \u2735

          35

          ?

          \u2736

          36

          ?

          \u2738

          38

          ?

          \u2739

          39

          ?

          \u273A

          3A

          ?

          \u2731

          31

          ?

          \u2732

          32

          ?

          \u2734

          34

          ?

          \u2733

          33

          ?

          \u273B

          3B

          ?

          \u273D

          3D

          ?

          \u274B

          4B

          ?

          \u2746

          46

          ?

          \u2744

          44

          ?

          \u2745

          45

          ? 星座類

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS



          ?

          \u2648

          48

          ?

          \u2649

          49

          ?

          \u264A

          4A

          ?

          \u264B

          4B

          ?

          \u264C

          4C

          ?

          \u264D

          4D

          ?

          \u264E

          4E

          ?

          \u264F

          4F

          ?

          \u2650

          50

          ?

          \u2651

          51

          ?

          \u2652

          52

          ?

          \u2653

          53

          ? 國際象棋類

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS



          ?

          \u265A

          5A

          ?

          \u265B

          5B

          ?

          \u265C

          5C

          ?

          \u265D

          5D

          ?

          \u265E

          5E

          ?

          \u265F

          5F

          ?

          \u2654

          54

          ?

          \u2655

          55

          ?

          \u2656

          56

          ?

          \u2657

          57

          ?

          \u2658

          58

          ?

          \u2659

          59

          ? 撲克牌類

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS



          ?

          \u2660

          60

          ?

          \u2663

          63

          ?

          \u2665

          65

          ?

          \u2666

          66

          ?

          \u2664

          64

          ?

          \u2667

          67

          ?

          \u2661

          61

          ?

          \u2662

          62

          Ω 希臘字母

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS



          Α

          Α

          \u0391

          91

          Β

          Β

          \u0392

          92

          Γ

          Γ

          \u0393

          93

          Δ

          Δ

          \u0394

          94

          Ε

          Ε

          \u0395

          95

          Ζ

          Ζ

          \u0396

          96

          Η

          Η

          \u0397

          97

          Θ

          Θ

          \u0398

          98

          Ι

          Ι

          \u0399

          99

          Κ

          Κ

          \u039A

          9A

          Λ

          Λ

          \u039B

          9B

          Μ

          Μ

          \u039C

          9C

          Ν

          Ν

          \u039D

          9D

          Ξ

          Ξ

          \u039E

          9E

          Ο

          Ο

          \u039F

          9F

          Π

          Π

          \u03A0

          A0

          Ρ

          Ρ

          \u03A1

          A1

          Σ

          Σ

          \u03A3

          A3

          Τ

          Τ

          \u03A4

          A4

          Υ

          Υ

          \u03A5

          A5

          Φ

          Φ

          \u03A6

          A6

          Χ

          Χ

          \u03A7

          A7

          Ψ

          Ψ

          \u03A8

          A8

          Ω

          Ω

          \u03A9

          A9

          ? 十字

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS



          ?

          \u2628

          28

          ?

          \u2629

          29

          ?

          \u271D

          1D

          ?

          \u271E

          1E

          ?

          \u271F

          1F

          ?

          \u2720

          20

          ?

          \u271A

          1A

          ?

          \u2020

          20

          ?

          \u2722

          22

          ?

          \u2724

          24

          ?

          \u2723

          23

          ?

          \u2725

          25

          ? 法律符號

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS



          ?

          ®

          \u00AE

          >\00AE<>

          ?

          ©

          \u00A9

          >\00A9<>

          ?

          \u2117

          17

          ?

          \u0099

          >\0099<99

          ?

          \u2120

          20





          @ 標(biāo)點(diǎn)和符號

          符號

          UNICODE



          符號

          UNICODE



          HTML

          JS

          CSS

          HTML

          JS

          CSS



          ?

          «

          \u00AB

          >\00AB<>

          ?

          »

          \u00BB

          >\00BB<>

          ?

          \u008B

          >\008B<8B

          ?

          \u009B

          >\009B<9B

          \u201C

          1C

          \u201D

          1D

          \u2018

          18

          \u2019

          19

          ?

          \u2022

          22

          ?

          \u25E6

          E6

          ?

          ¡

          \u00A1

          >\00A1<>

          ?

          ¿

          \u00BF

          >\00BF<>

          \u2105

          05

          \u2116

          16

          &

          &

          \u0026

          >\0026<26

          @

          @

          \u0040

          >\0040<40

          ?

          \u211E

          1E

          \u2103

          03

          \u2109

          09

          °

          °

          \u00B0

          >\00B0<>



          |

          \u007C

          >\007C<7C

          |

          ¦

          \u00A6

          \u2013

          13

          \u2014

          14

          \u2026

          26

          ?

          \u00B6

          >\00B6<>

          \u223C

          3C

          \u2260


          用法

          三種用法都在里面了

          nicode 聯(lián)盟(Unicode Consortium)

          Unicode 聯(lián)盟(Unicode Consortium)開發(fā)了 Unicode 標(biāo)準(zhǔn)(Unicode Standard)。他們的目標(biāo)是使用標(biāo)準(zhǔn)的 Unicode 轉(zhuǎn)換格式(即 UTF,全稱 Unicode Transformation Format)取代現(xiàn)有的字符集。

          Unicode 標(biāo)準(zhǔn)是一個(gè)成功的創(chuàng)舉,在 HTML、XML、Java、JavaScript、E-mail、ASP、PHP 中都得到實(shí)現(xiàn)。Unicode 標(biāo)準(zhǔn)也得到許多操作系統(tǒng)和所有現(xiàn)代瀏覽器的支持。

          Unicode 聯(lián)盟與領(lǐng)先的標(biāo)準(zhǔn)開發(fā)組織合作,這些組織有 ISO、W3C 和 ECMA。


          Unicode 字符集

          Unicode 可以由不同的字符集實(shí)現(xiàn)。最常用的編碼是 UTF-8 和 UTF-16:

          字符集描述
          UTF-8UTF8 中的字符可以是 1 到 4 字節(jié)長。UTF-8 可以代表 Unicode 標(biāo)準(zhǔn)中的任何字符。UTF-8 向后兼容 ASCII。UTF-8 是電子郵件和網(wǎng)頁的首選編碼。
          UTF-1616 位 Unicode 轉(zhuǎn)換格式是一種可變長度的 Unicode 字符編碼,能夠編碼整個(gè) Unicode 指令表。UTF-16 主要用于操作系統(tǒng)和環(huán)境,如 Microsoft Windows、Java 和 .NET。

          提示:Unicode 的前 128 個(gè)字符(與 ASCII 一一對應(yīng))使用一個(gè)與 ASCII二進(jìn)制值相同的八位組進(jìn)行編碼,使有效的 ASCII 文本在進(jìn)行 UTF-8 編碼時(shí)也是有效的。

          提示:所有的 HTML 4 處理器支持 UTF-8,所有的 HTML 5 和 XML 處理器支持 UTF-8 和 UTF-16!


          HTML5 標(biāo)準(zhǔn):Unicode UTF-8

          因?yàn)?ISO-8859 中字符集大小是有限的,且在多語言環(huán)境中不兼容,所以 Unicode 聯(lián)盟開發(fā)了 Unicode 標(biāo)準(zhǔn)。

          Unicode 標(biāo)準(zhǔn)覆蓋了(幾乎)所有的字符、標(biāo)點(diǎn)符號和符號。

          Unicode 使文本的處理、存儲和運(yùn)輸,獨(dú)立于平臺和語言。

          HTML-5 中默認(rèn)的字符編碼是 UTF-8。

          下面列出了一些 HTML5 支持的 UTF-8 字符集:

          字符集十進(jìn)制十六進(jìn)制
          C0 控制與基本的 Latin(C0 Controls and Basic Latin)0-1270000-007F
          C1 控制與 Latin-1 的補(bǔ)充(C1 Controls and Latin-1 Supplement)128-2550080-00FF
          Latin 擴(kuò)展 A(Latin Extended-A)256-3830100-017F
          Latin 擴(kuò)展 B(Latin Extended-B)384-5910180-024F

          如果 HTML5 網(wǎng)頁使用不同于 UTF-8 的字符,則需要在 <meta> 標(biāo)簽中指定,如下:

          實(shí)例

          <meta charset="ISO-8859-1">

          如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!

          周的時(shí)候,朋友圈的直升飛機(jī)不知道為什么就火了,很多朋友開著各種花式飛機(jī)帶著起飛。

          圖片來自網(wǎng)絡(luò)

          還沒來得及了解咋回事來著,這個(gè)直升飛機(jī)就到的微博熱搜。

          圖片來自網(wǎng)絡(luò)

          后面越來越多人開來他們的直升飛機(jī),盤旋在朋友圈上方。于是很多朋友開來他們的坦克,專打直升飛機(jī),一轟一個(gè)準(zhǔn)。

          圖片來自網(wǎng)絡(luò)

          好了,說回正題!

          程序員朋友應(yīng)該都很熟悉 Unicode (萬國碼),它幾乎包含世界上所有符號,比如組成直升飛機(jī)這幾個(gè)特殊符號對應(yīng)的 Unicode 碼分別為:

          ps:推薦一個(gè)網(wǎng)站,可以根據(jù)符號搜對應(yīng)的 Unicode 碼:https://unicode.yunser.com/unicode

          除了這些正常字符以外,Unicode 還包含著各種各樣的奇葩字符。

          奇葩字符

          除了正常的我們熟知的文字以外,Unicode 中還有一些奇怪的文字,比如下面這些文字

          這咋讀?某少?

          世代?

          恩?超出認(rèn)知范圍

          除了這些奇怪文字以外,Unicode 還有一些奇葩的的符號。

          例如下面一整套麻將牌:

          一整套的撲克牌:

          一整套國際象棋:

          image-20200725215319183

          除了這些,通過組合符合,我們還可以造出各種各樣的顏文字(??????)??、

          另外 Unicode 還收錄著我們常用的 Emoji

          除了這些之外,Unicode 中還有一些特殊字符的,利用這些字符,我們還可以玩出很多有趣的騷操作。

          組合字符

          Unicode 有一類字符稱為組合字符,它可以附加在前一個(gè)非組合字符上,從而使整體看起來像是一個(gè)字符。

          組合字符原來目的是為了解決一些地區(qū)語言、文字特殊的需要,比如說泰文聲調(diào)符號與母音符號。

          正常使用的情況下,這些組合字符數(shù)量都會有一些限制。但是在 Unicode 組合字符設(shè)計(jì)上,并沒有加這種限制,這樣使我們可以無限加這類組合字符。

          利用這個(gè)特性,可以達(dá)到一些惡搞效果,比如「擊穿天花板」與「鑿穿地板」的效果。

          上面實(shí)現(xiàn)原理其是利用以下兩個(gè)組合字符:

          上翻字符

          下翻字符

          只要復(fù)制這兩個(gè)字符相應(yīng)的 HTML 代碼,跟在正常的字符后面,就可以使這兩個(gè)字符附加在普通字符上,比如下面實(shí)現(xiàn)效果為

          黑??

          Unicode 碼值通常使用 U+N(16 進(jìn)制N 代表碼值),比如 A 的碼值為 U+0041。

          在 HTML 中 Unicode 可以使用 &#N;(十進(jìn)制,N 代表碼值)表示

          在 JS 中 Unicode 中需要使用] \uN(16 進(jìn)制N 代表碼值)表示

          只要我們在普通字符多復(fù)制幾個(gè)這類附加字符,就可以形成上述「擊穿」效果。

          還記得上面說的泰文嗎,曾經(jīng)有一段時(shí)間貼吧,很流行一種噴射文,比如下面的效果。

          向左噴

          向右噴

          左右互噴

          這種噴射文實(shí)際原理就是利用泰文中聲調(diào)符號附加在其他正常符號上。

          不過現(xiàn)在這個(gè)效果貌似已經(jīng)沒辦法再復(fù)現(xiàn)了,現(xiàn)在我們只能看到這樣的效果:

          在一些老版本的系統(tǒng)/瀏覽器可能還能看到這種效果,知道的小伙伴留言區(qū)可以告知一下。

          字符

          Unicode 中還有一類格式字符,不可見,不可打印,主要作用于調(diào)整字符的顯示格式,所以我們將其稱為零寬字符。

          零寬字符主要有以下幾類:

          零寬度空格符 (zero-width space) U+200B : 用于較長單詞的換行分隔

          零寬度非斷空格符 (zero width no-break space) U+FEFF : 用于阻止特定位置的換行分隔

          零寬度連字符 (zero-width joiner) U+200D : 用于阿拉伯文與印度語系等文字中,使不會發(fā)生連字的字符間產(chǎn)生連字效果

          零寬度斷字符 (zero-width non-joiner) U+200C : 用于阿拉伯文,德文,印度語系等文字中,阻止會發(fā)生連字的字符間的連字效果

          左至右符 (left-to-right mark) U+200E : 用于在混合文字方向的多種語言文本中(例:混合左至右書寫的英語與右至左書寫的希伯來語),規(guī)定排版文字書寫方向?yàn)樽笾劣?/p>

          右至左符 (right-to-left mark) U+200F : 用于在混合文字方向的多種語言文本中,規(guī)定排版文字書寫方向?yàn)橛抑磷?/p>

          利用零寬字符不不可見的特性,我們也可以玩出一些騷效果。

          空白微博

          發(fā)布微博的時(shí)候,如果內(nèi)容都是空格,將沒辦法發(fā)布。

          但是如果我們將零寬字符,比如說「零寬度空格符 U+200B」復(fù)制到微博,這樣我們就可以發(fā)布空白微博。

          我們可以利用 Chrome 瀏覽器的控制臺復(fù)制零寬字符,操作方式如下:

          發(fā)布效果如下:

          真的沒有改 HTML 導(dǎo)致的.jpg

          隱形水印

          對于一些內(nèi)部論壇或者說小說網(wǎng)站來說,可以通過零寬字符在帖子或小說內(nèi)容嵌入隱形水印。

          當(dāng)這些內(nèi)容被一些爬蟲復(fù)制到其他網(wǎng)站時(shí),我們就可以通過隱形水印,輕松查找時(shí)那位用戶泄漏內(nèi)容。

          隱形水印主要原理就是將用戶信息比如用戶名,通過一定算法轉(zhuǎn)成零寬字符,這樣普通用戶瀏覽時(shí)完全看不到這個(gè)水印。

          如果內(nèi)容被復(fù)制到其他網(wǎng)站,隱形誰贏也被復(fù)制,只要找到這個(gè)水印,將這些零寬字符反轉(zhuǎn)成用戶名即可。

          下面展示一種轉(zhuǎn)換方法,JS 代碼主要參考以下 Github 項(xiàng)目:

          https://github.com/umpox/zero-width-detection

          隱形水印生成方法

          第一步我們需要將明文字符串每個(gè)字符都轉(zhuǎn)成二進(jìn)制串。

              // 每個(gè)字符轉(zhuǎn)為二進(jìn)制,用空格分隔
              const textToBinary = username => (
                username
                .split('')
                // charCodeAt 將字符轉(zhuǎn)成相應(yīng)的 Unicode 碼值
                .map(char => char.charCodeAt(0).toString(2))
                .join(' ')
              );

          示例如下:

          第二步,將二進(jìn)制串轉(zhuǎn)為零度字符串,轉(zhuǎn)換規(guī)則如下:

          • 1 轉(zhuǎn)換為 \u200b 零寬度字符(zero-width space)
          • 0 轉(zhuǎn)換為 \u200c 零寬度斷字符(zero-width non-joiner)
          • 其他(剩余就是空格) 轉(zhuǎn)換為 \u200d 零寬度連字符 (zero-width joiner)
          • 最后使用 \ufeff 零寬度非斷空格符 (zero width no-break space) 作為分隔符
          const binaryToZeroWidth = binary => (
            binary.split('').map((binaryNum) => {
              const num = parseInt(binaryNum, 10);
              if (num === 1) {
                return '\u200b'; // \u200b 零寬度字符(zero-width space)
              } else if(num===0) {
                return '\u200c'; // \u200c 零寬度斷字符(zero-width non-joiner)
              }
              return '\u200d'; // \u200d 零寬度連字符 (zero-width joiner)
          
            }).join('\ufeff') // \ufeff 零寬度非斷空格符 (zero width no-break space)
          );

          最終加密方法如下:

          const encode = username => {
            const binaryUsername = textToBinary(username);
            const zeroWidthUsername = binaryToZeroWidth(binaryUsername);
            return zeroWidthUsername;
          };

          使用加密方法將明文字符串加密之后,加密字符串肉眼是看不到了,但是實(shí)際還是存在的。

          實(shí)際上,如果我們將加密之后字符串復(fù)制到 BEJSON 網(wǎng)站,就可以看到字符。

          image-20200722083507869

          另外你還可以把加密字符串復(fù)制到 IDEA 中,可以看到相應(yīng)的 Unicode 編碼值。

          解密隱形水印

          知道了加密的方式,解密其實(shí)就很簡單,我們只要按照相反步驟的來就可以了。

          第一步,將隱形水印按照以下規(guī)則轉(zhuǎn)換為二進(jìn)制串。轉(zhuǎn)換規(guī)則如下:

          • 使用 \ufeff 分隔字符串
          • \u200b 轉(zhuǎn)為 1
          • \u200c 轉(zhuǎn)為 0
          • 其他字符使用空格
          const zeroWidthToBinary = string => (
            string.split('\ufeff').map((char) => { // \ufeff 零寬度非斷空格符 (zero width no-break space)
              if (char === '\u200b') { // \u200b 零寬度字符(zero-width space)
                return '1';
              } else if(char === '\u200c') { // \u200c 零寬度斷字符(zero-width non-joiner)
                return '0';
              }
              return ' ';
            }).join('')
          );

          調(diào)用該方法,隱形水印轉(zhuǎn)成二進(jìn)制串。

          第二步,將二進(jìn)制再轉(zhuǎn)為相應(yīng)的字符。

          const binaryToText = string => (
            // fromCharCode 二進(jìn)制轉(zhuǎn)化
            string.split(' ').map(num => String.fromCharCode(parseInt(num, 2))).join('')
          );

          最終解密方法如下:

          const decode = zeroWidthUsername => {
            const binaryUsername = zeroWidthToBinary(zeroWidthUsername);
            const textUsername = binaryToText(binaryUsername);
            return textUsername;
          };

          解密示例如下:

          ?

          短網(wǎng)址

          我們常用的短網(wǎng)址,域名后面會跟上一串隨機(jī)串,從而實(shí)現(xiàn)短網(wǎng)址到長網(wǎng)址的映射。比如以下網(wǎng)址:

          https://sourl.cn/iLyn9S

          然而我們可以利用零寬字符也可以實(shí)現(xiàn)短網(wǎng)址的效果,,比如下面這個(gè)網(wǎng)站,就可以生成這類短網(wǎng)址。

          https://zws.im/

          可以看到這個(gè)短網(wǎng)址后面看不到任何字符,實(shí)際上這后面跟著一串零寬字符。當(dāng)瀏覽器訪問該短網(wǎng)址時(shí),后端程序只要反解密的后面零寬字符,拿到相應(yīng)的網(wǎng)址,然后在做跳轉(zhuǎn)就可以到指定的網(wǎng)站。

          反解密的原理可以參考上面隱形水印的代碼

          小心零寬字符

          日常開發(fā)過程中,我們有時(shí)需要從一些文件中讀取文本內(nèi)容,然后做相應(yīng)的處理。

          有時(shí)候我們可能會碰到一些詭異的現(xiàn)象,比如我們之前碰到的例子。

          后臺程序從 Excel 讀取文本內(nèi)容,然后程序中判斷是讀取的文本內(nèi)容是否與指定的字符串相等。

          然后當(dāng)我們讀取一份 Excel 內(nèi)容后,返現(xiàn)這段比較邏輯怎么也通過不了。本來以為是 Excel 內(nèi)容存在空格什么的,但是打開 Excel 仔細(xì)一看,跟指定字符串一模一樣,并沒有什么其他字符。

          第一次碰到這種例子,沒有什么經(jīng)驗(yàn),真的排查了很久,到最后都有點(diǎn)懷疑人生了。最后無意間將文本內(nèi)容復(fù)制到了 IDEA 中,才發(fā)現(xiàn)整理混雜著零寬字符!

          如果各位小伙伴也碰到這類問題,不妨將復(fù)制文本內(nèi)容,然后到 IDEA 中查看是否存在某些看不見字符~

          最后(點(diǎn)個(gè)贊唄!)

          這兩個(gè)星期一直很忙,一直都在 9106 的節(jié)奏,真的是累,所以斷更了一周!

          所幸最近項(xiàng)目提測,稍微輕松了一點(diǎn),能有點(diǎn)劃水時(shí)間來寫寫文章。不過再提起筆來寫文章,就有點(diǎn)斷節(jié)奏了!

          這篇文章墨跡了很久才水出來,下周開始再次恢復(fù)周更的節(jié)奏,再忙再累,每周都來一篇。

          歡迎各位小伙伴,每周來這里蹲我,Gank 我!!!

          好了,我是樓下小黑哥,下周見!!!

          參考鏈接

          1. https://juejin.im/post/5d3f01e7f265da03c23ead69
          2. http://zero.rovelast.com/
          3. https://zws.im/
          4. https://imweb.io/topic/5a08a5c7ef79bc941c30d8dd

          主站蜘蛛池模板: 国产一区二区三区在线2021| 午夜一区二区免费视频| 亚洲永久无码3D动漫一区| 91精品一区国产高清在线| 亚洲一区二区三区高清不卡| 亚洲一区二区女搞男| 日韩av片无码一区二区三区不卡| 国产精品福利一区二区| 日本在线观看一区二区三区| 国产午夜精品一区二区三区极品 | 深夜福利一区二区| 精品少妇ay一区二区三区 | 欧洲精品免费一区二区三区| 一区二区三区亚洲| 一区二区精品在线| 午夜天堂一区人妻| 亚洲综合一区二区国产精品| 亚洲爆乳精品无码一区二区三区| 日本一区免费电影| 国产一区二区三区视频在线观看| 亚洲A∨精品一区二区三区下载| 亚洲国产一区在线观看| 亚洲美女视频一区| 亚洲国产精品一区二区三区在线观看| 久久高清一区二区三区| 久久高清一区二区三区| 亚洲高清日韩精品第一区| 精品一区二区三区在线观看视频 | 中文字幕一区二区三区永久| 99国产精品一区二区| 久久精品无码一区二区三区日韩 | 午夜福利无码一区二区| 精品一区二区ww| 国产成人综合亚洲一区| 狠狠做深爱婷婷综合一区| 亚洲成AV人片一区二区| 伊人无码精品久久一区二区| 日韩一区二区免费视频| 久久精品无码一区二区app| 午夜天堂一区人妻| 暖暖免费高清日本一区二区三区 |