Внутреннее представление строк не имеет отношения к этой проблеме.
У тебя в документе на каждый символ приходится два байта (так как символы кириллицы в utf8 кодируются именно двумя байтами). Но так как браузер не вкурсе что документ в utf8 (чтобы был вкурсе, нужен либо http заголовок Content-Type, либо его эквивалент в html - <meta http-equiv=Content-type> либо тег <meta charset=..>), то он интерпретирует его как cp1251. А это однобайтовая кодировка, поэтому каждый из двух байт utf8 символа интерпретируется как отдельный символ cp1251.
Почему не 16 (8*2), а 14? Потому что символы пробела и запятой в utf8 кодируются одним байтом (как и остальные ascii-символы)
|