Detect if characters are selected in text editor
The selection spans from line current_line_index beginning at current_character to select_line ending at select_end_character.

If these coincide, there is no character selected.

So given you know the line and column of your character you can check yourself.

However current_character and select_end_character are byte offsets. 
Python uses unicode points. So unless you are using pure ASCII you need to convert the char position to byte offset.

See https://en.wikipedia.org/wiki/UTF-8

The conversion is a bit cumbersome. Something like

from itertools import islice

txt_line = "\u03A0\u2764\u2600\u2602This is a Test" 
col = 9
print(txt_line)

ubounds = [0x80, 0x800, 0x10000, 0x110000]
offset = 0

#char is actually an immutable newly created string...
for char in islice(txt_line, 0, col): 
    code_point = ord(char)
    for size, ub in enumerate(ubounds):
        if code_point &lt; ub:
            offset += size + 1
            break

print(
    "byte at %d: %d - char: %d" % (
        offset,
        bytes(txt_line, 'utf-8')[offset],
        ord(txt_line[col])
    )
)