I'm using double quotes in a string in VEX, which works. However when using the len(str) function, it does not count it properly. It counts three characters for each
If you check the docs for len(), when used on a string it's returning the number of bytes in the string, not the number of characters. For basic ASCII characters you'll get the number of characters, but your fancy quotation marks there aren't ASCII and so there's more bytes used. You're probably better off using Python to get the lengths of the strings, and storing that as an attribute to be manipulated later in VEX.
but there is also a question whether you are using those fancy quotes on purpose or you could have just used normal ones like instead of this (which is in your file):
s@str = "“hoe”";
i@str_len = len(s@str);
you can maybe use this:
s@str = '"hoe"';i@str_len = len(s@str);
which would result in correct count of 5
also escaping the quote would work, but may not read as clean: