Jump to content
Close
xWhiteWolf

Biblioteca/Função Serialize/Unserialize Strings to Number

Recommended Posts

Pra quem quiser a versão como função:
 

Spoiler

local function reduceQnt(r, ...)
	for i = 1, arg.n do 
		arg[i] = arg[i] - r
	end
	arg.n = nil
	return arg
end

-- Serialize
local function serializeString(data)
	if type(data) ~= 'string' or #data == 0 then return false end
	local summ = table.concat(reduceQnt(21, data:byte(1, #data)))
	local serial = ""
	local maxValue = (2^31) -1 -- int32
	
	repeat
		local lines = 10
		local tmp = summ:sub(-lines)	  
		while (tonumber(tmp) > maxValue or tmp:sub(1, 1) == "0") do
			lines = lines - 1
			tmp = summ:sub(-lines)
		end	  
		serial = tmp..serial -- this is where you can change to intput in a storage.
		summ = summ:sub(1, -(lines+1))
	until summ == ""
	
	return serial
end

-- Unserialize
local function unserializeString(serial)
	local index = 1
	local data = ""
	
	while (index < serial:len()) do
		local char = serial:sub(index, index + 1)
		if tonumber(char) < 11 then
			char = serial:sub(index, index + 2)
			index = index + 1
		end
		index = index + 2
		data = data..string.char(char + 21)
	end
	
	return data
end

-- Como usar:
local entrada = "Night Wolf"
local sr = serializeString(entrada)
print(sr)
print(unserializeString(sr))

 


https://repl.it/repls/LongtermVioletTakin



Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)




Share this post


Link to post
Share on other sites

Simplesmente genial !!





Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...