Generating Characters
You can generate UTF-16 characters in ES6 using String.fromCharCode(), which takes one or more UTF-16 codes as input and returns the unicode character(s) specified.
// hex code input
let copyright = String.fromCodePoint(0x00A9);
// "©"
// decimal code input
let copyright = String.fromCodePoint(0169);
// "©"
Here is a list of the codes for common characters I’ve seen used in websites:
Label | Character | Decimal | Hex | HTML |
---|---|---|---|---|
Copyright | © | 169 | 0x000A9 | © |
Registered | ® | 174 | 0x000AE | ® |
Trademark | ™ | 8482 | 0x02122 | ™ |
Euro | € | 8364 | 0x020AC | € |
Dollar | $ | 36 | 0x00024 | $ |
Ohm | Ω | 8486 | 0x02126 | Ω |
Degree | ° | 176 | 0x000B0 | ° |
Micro | µ | 181 | 0x000B5 | µ |
Em Dash | — | 8212 | 0x201 | — |
Non Breaking Space | 160 | 0x000A0 | |
If you need a symbol not listed above, see the HTML5 Character Reference, or the List of Unicode Characters.
Using with React Components
After generating the character as a constant, just insert it into your JSX as needed.
import React from 'react';
const copyrightMessage = () => {
const copyright = String.fromCodePoint(0x00A9);
const year = '2020';
const companyName = 'Company Name';
return (
<span>
{`${copyright} ${year} ${companyName}`}
</span>
);
};
export default copyrightFooter;
See also JSX Gotchas for more approaches.