Nano Hash - криптовалюты, майнинг, программирование

Подсчитайте шестнадцатеричную строку в python (\ x00 \ xff)

Я хочу подсчитать строку «\ x00» следующим образом:

\x01 , \x02 , \x03 , \x04 .... \xff , а затем снова \x00 ... и т.д.

Но я не могу понять, как это сделать.

Я пробовал что-то вроде этого:

counter= "\x00"
for i in range(1, 2000):
    counter= int(counter,16) +1

Но это явно не сработало: неверный литерал для int() с базой 16: '\x00'

Надеюсь, у вас есть идея получше. Большое спасибо!

11.11.2018

  • Какую версию Python вы используете? 11.11.2018

Ответы:


1

Вы можете преобразовать int в соответствующий символ с помощью chr(..) [Python-doc] встроенный.

Итак, мы можем, например, построить такую ​​строку с помощью:

from itertools import chain

''.join(chr(i) for i in chain(range(256), range(254, -1, -1)))

Это дает нам:

>>> ''.join(chr(i) for i in chain(range(256), range(254, -1, -1)))
'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0¡¢£¤¥¦§¨©ª«¬\xad®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿþýüûúùø÷öõôóòñðïîíìëêéèçæåäãâáàßÞÝÜÛÚÙØ×ÖÕÔÓÒÑÐÏÎÍÌËÊÉÈÇÆÅÄÃÂÁÀ¿¾½¼»º¹¸·¶µ´³²±°¯®\xad¬«ª©¨§¦¥¤£¢¡\xa0\x9f\x9e\x9d\x9c\x9b\x9a\x99\x98\x97\x96\x95\x94\x93\x92\x91\x90\x8f\x8e\x8d\x8c\x8b\x8a\x89\x88\x87\x86\x85\x84\x83\x82\x81\x80\x7f~}|{zyxwvutsrqponmlkjihgfedcba`_^]\\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)(\'&%$#"! \x1f\x1e\x1d\x1c\x1b\x1a\x19\x18\x17\x16\x15\x14\x13\x12\x11\x10\x0f\x0e\r\x0c\x0b\n\t\x08\x07\x06\x05\x04\x03\x02\x01\x00'

или аналогичным образом вывести символы:

for i in range(256):
    print(chr(i))
for i in range(254, -1, -1):
    print(chr(i))
11.11.2018
  • Спасибо за ваш ответ, но я не понимаю, как это мне поможет. И в вашем выводе после \x08 \t\n\ которого не должно быть:/ Моя цель - просто подсчитать байт до \xff 11.11.2018
  • @jonasbsv: '\t' == '\x09'. Вы понимаете, что такие символы — это просто символы ASCII, и что у некоторых есть более удобные псевдонимы? 11.11.2018
  • ооо, извините, я этого не понял. Тогда это имеет смысл. 12.11.2018

  • 2
  • Ответы, содержащие только код, считаются некачественными. Рассмотрите возможность добавления краткого объяснения (ссылки на документы могут быть полезны) 12.11.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..