Вот что я хочу сделать (1) конвертировать дату в 6digit, (2) конвертировать 6-разрядный номер в дату ввода. Любое предложение сделать это?Я хочу конвертировать дату в 6-значное число, а затем конвертировать его обратно в точное время. Есть ли способ шифрования?
ответ
Ниже приведен скрипт python, который использует gtk (на linux), который я подготовил для точно такой же цели. Если вам интересно, я могу преобразовать его в C, или вы можете попытаться это сделать ... Чтобы попробовать, введите дату YYMMDDHHmmss
, затем нажмите кнопку конвертировать ... очень удобно!
Единственное, что я должен был использовать в номерах и письмах !!!!!
#!/usr/bin/python
import os
import sys
import pygtk
pygtk.require ('2.0')
import gtk
def to_digit(a):
if (a < 10) and (a >= 0):
return chr(48 + a)
elif (a < 36) and (a > 9):
return chr(55 + a)
elif (a < 60) and (a > 35):
return chr(61 + a)
else:
return chr(95)
#
def to_int(c):
if (ord(c) < 58) and (ord(c) > 47):
return ord(c)-48
elif (ord(c) < 91) and (ord(c) > 64):
return ord(c)-55
elif (ord(c) < 123) and (ord(c) > 96):
return ord(c)-61
#
def m_call(a):
st = ''
if a == 0:
return '0'
while a:
b = a % 100
a = a/100
st = to_digit(b) + st
return st
#
def rev_m_call(st):
cumul = 0
for i in range(len(st)):
cumul += to_int(st[i:i+1])*pow(10,2*(len(st)-i-1))
return cumul
#
class frmMain:
def run_cmd(self, widget, data=None):
if data == 'o1':
self.output_entry.set_text (m_call(int(self.input_entry.get_text())))
elif data == 'o2':
self.input_entry.set_text (str(rev_m_call(self.output_entry.get_text())))
elif data == 'c':
self.input_entry.set_text ("")
self.output_entry.set_text ("")
else:
pass
def delete_event(self, widget, event, data=None):
print ("delete event occurred")
return False
def destroy(self, widget, data=None):
gtk.main_quit()
def __init__(self):
self.WIDTH = 300
self.HEIGHT = 60
self.window = gtk.Window (gtk.WINDOW_TOPLEVEL)
self.window.set_title ("Give the date to convert to code!!")
self.window.set_size_request (self.WIDTH, self.HEIGHT)
self.window.set_resizable (False)
self.window.connect ("delete_event", self.delete_event)
self.window.connect ("destroy", self.destroy)
self.window.set_border_width (2)
vb = gtk.VBox (False, 0)
self.window.add (vb)
hb = gtk.HBox (True, 0)
self.input_entry = gtk.Entry()
hb.pack_start (self.input_entry, False, True, 2)
self.output_entry = gtk.Entry()
hb.pack_start (self.output_entry, False, True, 2)
vb.pack_start (hb, False, True, 2)
hb = gtk.HBox (False, 0)
r1 = gtk.Button (">======->>")
r1.connect ("clicked", self.run_cmd, 'o1')
hb.pack_end (r1, False, False, 2)
r2 = gtk.Button ("<<-======<")
r2.connect ("clicked", self.run_cmd, 'o2')
hb.pack_end (r2, False, False, 2)
clear_button = gtk.Button ("Clear")
clear_button.connect ("clicked", self.run_cmd, 'c')
hb.pack_end (clear_button, False, False, 2)
cancel_button = gtk.Button ("Cancel")
cancel_button.connect ("clicked", self.destroy)
hb.pack_end (cancel_button, False, False, 2)
vb.pack_start (hb, False, True, 2)
self.window.show_all()
def main(self):
gtk.main()
if __name__ == "__main__":
run = frmMain()
run.main()
Я постараюсь понять код и провести некоторое тестирование в понедельник. Благодарю. – user3097695
Мне сложно преобразовать код в C или C++. Было бы неплохо преобразовать функции в c. – user3097695
Дайте мне несколько минут .. – mlwn
Можете ли вы написать пример? Какой язык вы хотите использовать? – kristyna
C или C++. Я могу добавить кодовую фразу для преобразования. – user3097695
Например, у меня есть время 08/01 2015 07:48. Я хочу преобразовать его в уникальную цифру 6. Кто-то может конвертировать назад к тому же дате. – user3097695