Что нового

[Данные, строки] Перечитать строку HEX в обратную сторону

kristow13

Новичок
Сообщения
76
Репутация
0
Добрый день!
Есть строка в виде: 1 F4 6A E 0 1 0 EE (только без пробелов).
Мне из нее надо получить E6AF4, т.е. 3 элемента задом наперед прочитать...

Второй пример: 11CF31E06602E ‭=== 1EF31C‬

Еще примеры для тестов:
Код:
1472A68016042 === ‭682A47‬
1BCED1E0660AC === ‭1EEDBC‬
11E6F680160C1 === ‭686F1E
138DF1E06609D === ‭1EDF38‬
‭185E3D010F1 === DE385‬
‬

Подскажите как это сделать?!
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Re: [Данные, строки] Преобразовать строку к нормальному виду

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"[Данные, строки] Преобразовать строку к нормальному виду" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Модератор.











Добавлено:
Сообщение автоматически объединено:

Приведите еще пару примеров, а то не наблюдается закономерности. Например, что должно быть в этом случае:

0123456789ABCDEF
 
Автор
kristow13

kristow13

Новичок
Сообщения
76
Репутация
0
Я наверное сам отвечу и закрою тему...
Мне показалось что можно решить мою задачу вот так:
Код:
$K = '11CF31E06602E'
$text1= StringMid($K, 2,2)
$text2= StringMid($K, 4,2)
$text3= StringMid($K, 6,2)
ConsoleWrite($text3&$text2&$text1&@LF)

Если есть предложения как доработать код, спасибо.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Да, совершенно верно.

Код:
Global $aText[4] = [ _
		'1472A68016042', _
		'1BCED1E0660AC', _
		'11E6F680160C1', _
		'138DF1E06609D'  _
		]

For $i = 0 To 3
	$sResult = StringMid($aText[$i], 6, 2) & StringMid($aText[$i], 4, 2) & StringMid($aText[$i], 2, 2)
	ConsoleWrite($sResult & @CRLF)
Next
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
kristow13,
Еще так можно. :smile:
Код:
Global $aText[4] = [ _
		'1472A68016042', _
		'1BCED1E0660AC', _
		'11E6F680160C1', _
		'138DF1E06609D' _
		]

For $i = 0 To 3
	$sResult = ''
	For $j = 6 To 2 Step -2
		$sResult &= StringMid($aText[$i], $j, 2)
	Next
	ConsoleWrite($sResult & @CRLF)
Next
 

edyapd

Осваивающий
Сообщения
380
Репутация
30
Код:
Global $sText = '1472A68016042' & @CRLF & _
				'1BCED1E0660AC' & @CRLF & _
				'11E6F680160C1' & @CRLF & _
				'138DF1E06609D'

ConsoleWrite(StringRegExpReplace($sText, '(?m)^\d([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2}).*?$', '$3$2$1') & @CRLF)
 
Верх