Скрипт для создания надписей на кириллице для дисплеев типа 16x2

Нет ответов
sergomor
Offline
Зарегистрирован: 14.09.2015
Написал простенький скрипт для формирования строк на кириллице для LCD дисплеев.
Создайте файл html (например srings.html) и скопруйте туда код, приведенный ниже.
Для использования, открывайте файл в любом броузере.


<!doctype html>
<html>
<head>
<style>
	body {
		margin:2em;
	}

	input[type=text] {
		width:20em;
	}

	#trs {
		padding-top:2em;
	}
</style>
<meta charset="utf-8">
<script>
	var codetab = [
		'41','A0','42','A1','E0','45','A2','A3','A4','A5','A6','4b','A7','4D','48','4F',
		'A8','50','43','54','A9','AA','58','E1','AB','AC','E2','AD','AE','62','AF','B0','B1',
		'61','B2','B3','B4','E3','65','B5','B6','B7','B8','B9','BA','BB','BC','BD','6F',
		'BE','70','63','BF','79','E4','78','E5','C0','C1','E6','C2','C3','C4','C5','C6','C7'
	];

	var alphabet = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя';
	var hexalpha = "0123456789abcdefABCDEF";

	function translate()
	{
		var txt = src.value;
		var newstr = '"';
		var idx;
		var lasthex_i;
		var need_q = false;
		for (var i=0; i < txt.length; i++)
		{
			idx = alphabet.indexOf(txt[i]);
			if (-1 != idx)
			{
				newstr += '\\x' + codetab[idx];
				lasthex_i = i;
			}
			else
			{				
				need_q = (-1 != hexalpha.indexOf(txt[i])) && lasthex_i == (i - 1);
				if (need_q) newstr += '""';
				newstr += txt[i];
				need_q = false;
			}
		}
		newstr += '";';
		console.log(newstr);
		dest.innerHTML  = newstr;
	}
</script>

</head>
<body>
	<input id="str" type=text>
	<input type="button" value="Go" onclick="javascript:translate();">
	<div id="trs"></div>
</body>

<script>
	var src = document.getElementById('str');
	var dest = document.getElementById('trs');
</script>

</html>