<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Как преобразовать значение HEX в символ?]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Как преобразовать значение HEX в символ? форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 02 Aug 2026 12:12:22 -0400</pubDate>
		<item>
			<title>Как преобразовать значение HEX в символ?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382009">Как преобразовать значение HEX в символ?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Извините, но нельзя использовать имя в кодировке CP 1251, потому что не происходит никакого преобразования, а для разных пользователей для разных символов используется один и тот же код… <br />
			<i>02.02.2023 10:37:00, rextended.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382009</link>
			<guid>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382009</guid>
			<pubDate>Thu, 02 Feb 2023 10:37:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Как преобразовать значение HEX в символ?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382008">Как преобразовать значение HEX в символ?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Извиняюсь, что так долго не отвечал. Эта функция используется для получения символа по коду, а если $1 не установлен, то она возвращает строку из всех символов страницы.<br /><br />:global fsAlphabitCP1251 do={<br />:if ([:typeof $0] = "lookup") do={<br />:if ([:typeof $1] != "nothing") do={:return [[:parse "(\"\\$[:pick "0123456789ABCDEF" (([:tonum $1] &gt;&gt; 4) & 0xF)]$[:pick "0123456789ABCDEF" ([:tonum $1] & 0xF)]\")"]]}<br />:local string<br />:for key from=0 to=255 do={<br /> &nbsp; &nbsp;:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key &gt;&gt; 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]<br /> &nbsp; &nbsp;:set string ("$string"."$char")<br />}<br />:return $string<br /> &nbsp;}<br />}<br /><br />:log error [$fsAlphabitCP1251 43]<br /><br />:log warning [$fsAlphabitCP1251] <br />
			<i>02.02.2023 10:28:00, Sertik.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382008</link>
			<guid>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382008</guid>
			<pubDate>Thu, 02 Feb 2023 10:28:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Как преобразовать значение HEX в символ?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382007">Как преобразовать значение HEX в символ?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я предпочитаю писать код так, чтобы через несколько месяцев мог понять, что же там написал, и при этом не сойти с ума. И я избегаю переписывать одни и те же строки и повторять одни и те же операции несколько раз ("0123…", [:tonum $1]). Для чего это вообще? Каждый раз возвращается NULL (0x00). <br />
			<i>30.01.2023 10:57:00, rextended.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382007</link>
			<guid>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382007</guid>
			<pubDate>Mon, 30 Jan 2023 10:57:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Как преобразовать значение HEX в символ?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382006">Как преобразовать значение HEX в символ?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Функция написана понятно для анализа и изучения: &nbsp;<br />:global dec2chr do={ &nbsp;<br /> &nbsp; &nbsp;:local input [:tonum $1]  <br /> &nbsp; &nbsp;:local hexchars "0123456789ABCDEF" &nbsp;<br /> &nbsp; &nbsp;:local convert [:pick $hexchars (($input &gt;&gt; 4) & 0xF)]  <br /> &nbsp; &nbsp;:set convert ($convert.[:pick $hexchars ($input & 0xF)])  <br /> &nbsp; &nbsp;:return [[:parse "(\"\\$convert\")"]]  <br />}<br /><br />:put [$dec2chr 61] Такая же функция. Ничего не понятно, но коротко и работает.  <br />:global dec2chrNew do={ &nbsp;<br /> &nbsp; &nbsp;:return [[:parse "(\"\\$[:pick "0123456789ABCDEF" (([:tonum $1] &gt;&gt; 4) & 0xF)]$[:pick "0123456789ABCDEF" ([:tonum $1] & 0xF)]\")"]]  <br />}<br /><br />:put [$dec2chrNew 61] <br />
			<i>30.01.2023 09:27:00, Sertik.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382006</link>
			<guid>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382006</guid>
			<pubDate>Mon, 30 Jan 2023 09:27:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Как преобразовать значение HEX в символ?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382005">Как преобразовать значение HEX в символ?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			:global fsAlphabitCP1251 do={<br />:if ([:typeof $0]="lookup") do={<br />:if ([:typeof $1]!="nil") do={:return [[:parse "(\"\\$[:pick "0123456789ABCDEF" (([:tonum $1] &gt;&gt; 4) & 0xF)]$[:pick "0123456789ABCDEF" ([:tonum $1] & 0xF)]\")"]]}<br />:local string<br />:for key from=0 to=255 do={<br /> &nbsp; &nbsp;:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key &gt;&gt; 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]<br /> &nbsp; &nbsp;:set string ("$string"."$char")<br />}<br />:return $string<br /> &nbsp;}<br /> } :put [$fsAlphabitCP1251 “\2B”] :put [$fsAlphabitCP1251] <br />
			<i>30.01.2023 08:34:00, Sertik.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382005</link>
			<guid>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382005</guid>
			<pubDate>Mon, 30 Jan 2023 08:34:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Как преобразовать значение HEX в символ?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382004">Как преобразовать значение HEX в символ?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Что-то у тебя в скрипте не работает, а эта тема — «Как преобразовать HEX значение в символ?» — как раз про перевод шестнадцатеричных значений в символы. В этом тесте я использую знак равенства «=», который в hex — 0x3D, моя функция работает, а твоя — нет. Скорее всего, твоя строка предназначена для преобразования числа от 0 до 255 в 8-битный символ.<br /><br />{<br />:global hex2chr do={:return [[:parse "(\"\\$1\")"]]}<br />:put [$hex2chr "3D"]<br /><br />:local key "3D"<br />:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key &gt;&gt; 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]<br />:put $char<br />}<br /><br />Можно использовать для создания функции:<br /><br />:global dec2chr do={<br /> &nbsp;:local input [:tonum $1]<br /> &nbsp;:local hexchars "0123456789ABCDEF"<br /> &nbsp;:local convert [:pick $hexchars (($input &gt;&gt; 4) & 0xF)]<br /> &nbsp;:set convert ($convert.[:pick $hexchars ($input & 0xF)])<br /> &nbsp;:return [[:parse "(\$convert)"]]<br />}<br /><br />:put [$dec2chr 61] <br />
			<i>26.01.2023 12:32:00, rextended.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382004</link>
			<guid>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382004</guid>
			<pubDate>Thu, 26 Jan 2023 12:32:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Как преобразовать значение HEX в символ?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382003">Как преобразовать значение HEX в символ?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ты всё ещё можешь это сделать. Получи любой символ по коду (в $key): :local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key &gt;&gt; 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]] <br />
			<i>26.01.2023 10:04:00, Sertik.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382003</link>
			<guid>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382003</guid>
			<pubDate>Thu, 26 Jan 2023 10:04:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Как преобразовать значение HEX в символ?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382002">Как преобразовать значение HEX в символ?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			search tag # rextended hex2chr шестнадцатеричный в символ Ммм… но проще так: [rextended@MATRIX] &gt; :global hex2chr do={:return [[:parse "(\"\\$1\")"]]}  <br />[rextended@MATRIX] &gt; :put [$hex2chr 64]  <br />d &nbsp;<br />[rextended@MATRIX] &gt; просто не передавайте строчные или неправильные шестнадцатеричные символы, только заглавные. Вот функция для преобразования строки с HEX значениями в строку символов, она также проверяет строчные/заглавные/неправильные HEX: <noindex><a href="https://forum.mikrotik.com/viewtopic.php?f=9&amp;t=129693&amp;p=871742#p871742" target="_blank" rel="nofollow" >https://forum.mikrotik.com/viewtopic.php?f=9&amp;t=129693&amp;p=871742#p871742</a></noindex> <br />
			<i>07.08.2021 22:48:00, rextended.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382002</link>
			<guid>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382002</guid>
			<pubDate>Sat, 07 Aug 2021 22:48:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Как преобразовать значение HEX в символ?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382001">Как преобразовать значение HEX в символ?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я пытаюсь заполнить ассоциативный массив сопоставлениями символов с их HEX-кодировкой. Ниже указанный код не работает: он не воспринимает конструкцию ("\0".$hexChar). Итак, как мне преобразовать строку, содержащую символы "", "0" и "1" (где "0" и "1" генерируются динамически), так чтобы она парсилась как "\01"?<br /><br />:global convert ({});<br />#:set ($convert-&gt;"\00") "\\00"<br />:set ($convert-&gt;"\7F") "\\7F"<br />:set ($convert-&gt;"\81") "\\81"<br />:local hexChars "01234567890ABCDEF"<br />:local groupChars "01890ABCDEF"<br /> &nbsp;:for hexCharsIndex from=0 to=([:len $hexChars] - 1) do={ <br /> &nbsp; &nbsp;:local hexChar [:pick $hexChars $hexCharsIndex]<br /> &nbsp; &nbsp;:set ($convert-&gt;("\0".$hexChar)) ("\\0".$hexChar)<br /> &nbsp;} –jeroen <br />
			<i>06.05.2016 06:18:00, jeroenp.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382001</link>
			<guid>http://mikrotik.moscow/forum/forum57/83974-kak-preobrazovat-znachenie-hex-v-simvol/message382001</guid>
			<pubDate>Fri, 06 May 2016 06:18:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
