It's possible to add unicode characters to CSS pseudo-elements like :before and :after using the following syntax:
.example:after {
content: "\25BE";
}
This would give a nice down arrow like so:
The format for unicode characters is a backslash followed by the hexadecimal code for the character, as explained in this Stack Overflow answer. You can find the code for unicode characters from this handy site, which also lists browser support for common characters.
Why use Unicode?
Unicode characters are a useful replacement for icons which would otherwise have to be images or generated by custom icon fonts. They're also a lot more flexible than images, since you can set the size and colour (amongst many other attributes) through CSS, since they're just text characters.