Character Entities are used to produce characters in a Web page that you can't just type into the HTML file in your code editor.
For example, © is a common non-keyboard character.
A non-breaking space is a very useful Character Entity.
Four of them are used to create the indentation at the beginning of this paragraph.
Since browsers ignore all whitespace except single spaces,
this is one way to force extra blank spaces that a browser would normally remove.
You need to look at the source code to see how character entities are coded and why some duplicate characters are shown below.
© © (copyright)
® ® (registered)
€ € (Euro Currency)
∅ ∅ (Empty Set in Mathematics)
⚽ (Soccer Ball)
Large lists of character entities can be found by typing HTML Character Entities into your favorite search engine.
Such lists will mostly provide common characters with numbers under 10,000 like shown above.
But, if you know where to look, you can find all sorts of characters, some with numbers in the 10s or 100s of thousands like shown below.
ض
#1590 - Arabic and Hebrew characters are found in this range.
썐
#50000 - Characters for symbolic languages like Chinese, Korean, and Japanese are found in this range.
𓄂
#78082 - Historic Languages like Egyptian Hieroglyphs are found in this range.
If you see an empty box above instead of a Hieroglyph, that means your Web browser can't draw the character.
😿
#128575 - Relatively new characters like Emojis are found in this range well up over 100,000.
As a final note, why do 😿 and <hr> actually show up as the actual code in this Web page?
That is, why is the browser not rendering the code as a character entity and horizontal rule, respectively?
You will have to look at the source code to see how it's done.