Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript和Python中对unicode字符串进行base64编码?_Javascript_Python_Encoding_Base64 - Fatal编程技术网

如何在JavaScript和Python中对unicode字符串进行base64编码?

如何在JavaScript和Python中对unicode字符串进行base64编码?,javascript,python,encoding,base64,Javascript,Python,Encoding,Base64,我需要一个encript算法,它可以将文本写入到文本中 输入文本可以是unicode,输出应该是a-z a-z 0-9-。(最多64个字符) 它可以再次解密为unicode 它应该用javascript和python实现 如果已经有图书馆可以这样做,太好了,如果没有,你能告诉我吗 让我谈谈原因 为了欺骗中国,盖特防火墙和盖伊https已经在中国被屏蔽。对这该死的政府感到愤怒。你可能想看看这个。在Python2.x中(从2.4开始): 您正在寻找base64编码。在JavaScript和Pytho

我需要一个encript算法,它可以将文本写入到文本中

输入文本可以是unicode,输出应该是a-z a-z 0-9-。(最多64个字符)

它可以再次解密为unicode

它应该用javascript和python实现

如果已经有图书馆可以这样做,太好了,如果没有,你能告诉我吗

让我谈谈原因
为了欺骗中国,盖特防火墙和盖伊https已经在中国被屏蔽。对这该死的政府感到愤怒。

你可能想看看这个。在Python2.x中(从2.4开始):


您正在寻找base64编码。在JavaScript和Python 2中,这有点复杂,因为后者本机不支持unicode,对于前者,您需要自己实现unicode编码

Python3解决方案
请补充一些关于流程的说明。你能举一个输入和预期输出的例子吗?为什么需要在JS和Python中实现它?这听起来像是一个非常奇特的要求。你到底需要它做什么?这不是加密,这是编码。修复标签。听起来你正在实施一项灾难性的不安全措施,正确的答案很可能是“停止”和“使用HTTPS”。你为什么这么说:这是一项崇高的事业,我随时都会竖起大拇指,但长城真的这么简单吗?很难相信我不确定。根据一些经验,有url筛选器、内容筛选器和ip筛选器,例如,如果url包含groups.google.com,无论它是域位置,它都将被阻止,如果内容包含一些敏感词,它将被阻止,并且特定ip的https端口被手动阻止。调用
时,Python 3是否默认为UTF-8.encode()
没有参数?好的,明白了。默认编码已从ASCII更改为UTF-8。我认为
encode()
在某种程度上违反了“显式优于隐式”的规则。Python 3字符串是unicode,调用
。encode()
创建了一个
字节
对象,该对象不包含任何编码信息
.decode()
字节上执行相反的操作。
>>> import base64
>>> s=u"Rückwärts"
>>> s
u'R\xfcckw\xe4rts'
>>> b=base64.b64encode(s.encode("utf-8"))
>>> b
'UsO8Y2t3w6RydHM='
>>> d=base64.b64decode(b)
>>> d
'R\xc3\xbcckw\xc3\xa4rts'
>>> d.decode("utf-8")
u'R\xfcckw\xe4rts'
>>> print d.decode("utf-8")
Rückwärts
>>> from base64 import b64encode, b64decode
>>> b64encode( 'Some random text with unicode symbols: äöü今日は'.encode() )
b'U29tZSByYW5kb20gdGV4dCB3aXRoIHVuaWNvZGUgc3ltYm9sczogw6TDtsO85LuK5pel44Gv'
>>> b64decode( b'U29tZSByYW5kb20gdGV4dCB3aXRoIHVuaWNvZGUgc3ltYm9sczogw6TDtsO85LuK5pel44Gv' )
b'Some random text with unicode symbols: \xc3\xa4\xc3\xb6\xc3\xbc\xe4\xbb\x8a\xe6\x97\xa5\xe3\x81\xaf'
>>> _.decode()
'Some random text with unicode symbols: äöü今日は'