在 base64 中解码字符串并加载为数组 JS
Decode string in base64 and load as array JS
在我的游戏中,我想要一个系统,用户按下一个按钮,它会为他们提供一个 base64 字符串,他们可以在另一台计算机上输入该字符串以到达那里保存数据。
var cash = 2228
var seeds = 0
var Final = 0
var encodedData
var decodedData
var decodeLoad
//Function here where user inputs encoded data and sets it as the encodedData Variable
function savedata() {
encodedData = window.btoa("['"+ cash + "'], ['" + seeds + "'], ['" + Final + "']");
}
function loaddata() {
decodedData = window.atob(encodedData);
decodeLoad = decodedData
}
当用户拥有 2228 现金、0 个种子和 0 个决赛的保存数据时,他们将得到一个看起来像这样的字符串
WycyMjI4J10sIFsnMCddLCBbJzAnXQ==
当它通过加载数据函数时,它以字符串形式出现,格式类似于数组
"['2228'], ['0'], ['0']"
然后我希望将该字符串用作数组,然后将值放入正确的变量中(第一个用于兑现,第二个用于种子,第三个用于最终)。
这里是一个片段,展示了该代码块的运行情况(您可以更改前 3 个变量以获得不同的结果:
var cash = 2228
var seeds = 0
var Final = 0
var encodedData
var decodedData
var decodeLoad
function savedata() {
encodedData = window.btoa("['" + cash + "'], ['" + seeds + "'], ['" + Final + "']");
}
function loaddata() {
decodedData = window.atob(encodedData);
decodeLoad = decodedData
}
savedata()
loaddata()
document.write("Encoded: " + encodedData + "<br>Decoded: " + decodedData)
那么可能吗?
我建议您改用 JSON 对象字符串,这样在对单独的变量进行编码和解码时更容易区分数据。
您可以在 JSON 对象字符串中解析变量并将其转换为 base64,如下所示:
function savedata() {
// Encode into base64 JSON object string
encodedData = btoa('{"cash":' + cash + ',"seeds":' + seeds + ',"Final":' + Final + '}');
}
这样,您可以轻松地使用 JSON.parse()
解析编码数据,将其转换为对象,并快速将值赋回给您的变量:
function loaddata() {
// Decode the base64 JSON object string
decodedData = JSON.parse(atob(encodedData));
// Put the saved values back
cash = decodedData.cash;
seeds = decodedData.seeds;
Final = decodedData.Final;
}
在我的游戏中,我想要一个系统,用户按下一个按钮,它会为他们提供一个 base64 字符串,他们可以在另一台计算机上输入该字符串以到达那里保存数据。
var cash = 2228
var seeds = 0
var Final = 0
var encodedData
var decodedData
var decodeLoad
//Function here where user inputs encoded data and sets it as the encodedData Variable
function savedata() {
encodedData = window.btoa("['"+ cash + "'], ['" + seeds + "'], ['" + Final + "']");
}
function loaddata() {
decodedData = window.atob(encodedData);
decodeLoad = decodedData
}
当用户拥有 2228 现金、0 个种子和 0 个决赛的保存数据时,他们将得到一个看起来像这样的字符串
WycyMjI4J10sIFsnMCddLCBbJzAnXQ==
当它通过加载数据函数时,它以字符串形式出现,格式类似于数组
"['2228'], ['0'], ['0']"
然后我希望将该字符串用作数组,然后将值放入正确的变量中(第一个用于兑现,第二个用于种子,第三个用于最终)。
这里是一个片段,展示了该代码块的运行情况(您可以更改前 3 个变量以获得不同的结果:
var cash = 2228
var seeds = 0
var Final = 0
var encodedData
var decodedData
var decodeLoad
function savedata() {
encodedData = window.btoa("['" + cash + "'], ['" + seeds + "'], ['" + Final + "']");
}
function loaddata() {
decodedData = window.atob(encodedData);
decodeLoad = decodedData
}
savedata()
loaddata()
document.write("Encoded: " + encodedData + "<br>Decoded: " + decodedData)
那么可能吗?
我建议您改用 JSON 对象字符串,这样在对单独的变量进行编码和解码时更容易区分数据。
您可以在 JSON 对象字符串中解析变量并将其转换为 base64,如下所示:
function savedata() {
// Encode into base64 JSON object string
encodedData = btoa('{"cash":' + cash + ',"seeds":' + seeds + ',"Final":' + Final + '}');
}
这样,您可以轻松地使用 JSON.parse()
解析编码数据,将其转换为对象,并快速将值赋回给您的变量:
function loaddata() {
// Decode the base64 JSON object string
decodedData = JSON.parse(atob(encodedData));
// Put the saved values back
cash = decodedData.cash;
seeds = decodedData.seeds;
Final = decodedData.Final;
}