如何通过ajax帖子将包含'%'和'&'等字符的大字符串传递到我的php页面?
换句话说,如何对它们进行javascript编码并对它们进行php解码?
我正在使用带有Razor的EF4 + MVC 3.
我有以下内容ActionResult,它将Dictionary<string,string>部分视图呈现出来.
行动
public ActionResult combotest()
{
Dictionary<string, string> r = new Dictionary<string, string>();
r.Add("<> ''", "T");
...
return PartialView("_mypartial", r);
}
Run Code Online (Sandbox Code Playgroud)
现在,包含在Model.Key值中的特殊字符是HTML编码,而我想将它们用作纯文本.例如<> '',呈现为<> ''.
我试图将它们与转换WebUtility.HtmlDecode或Server.HtmlDecode没有成功:
部分视图(_mypartial):
<select>
<option value=''></option>
@foreach (KeyValuePair<string,string> value in (Dictionary<string, string>)Model)
{
<option value="@WebUtility.HtmlDecode(value.Key)">@value.Value
</option>
}
</select>
Run Code Online (Sandbox Code Playgroud)
你可以帮帮我吗?String.Replace如果可能的话,我会避免使用.
我有一个html页面列表,其中可能包含某些编码字符.一些例子如下 -
<a href="mailto:lad%20at%20maestro%20dot%20com">
<em>ada@graphics.maestro.com</em>
<em>mel@graphics.maestro.com</em>
Run Code Online (Sandbox Code Playgroud)
我想解码(逃避,我不确定当前的术语)这些字符串 -
<a href="mailto:lad at maestro dot com">
<em>ada@graphics.maestro.com</em>
<em>mel@graphics.maestro.com</em>
Run Code Online (Sandbox Code Playgroud)
请注意,HTML页面采用字符串格式.另外,我不想使用任何外部库,如BeautifulSoup或lxml,只有本机python库是可以的.
编辑 -
以下解决方案并不完美.HTML解析器unescaping与urllib2抛出一个
UnicodeDecodeError: 'ascii' codec can't decode byte 0x94 in position 31: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
在某些情况下出错.
快问.我试图在Python中查找或编写一个编码器,通过使用大写和小写字母缩短一串数字.数字字符串看起来像这样:
20120425161608678259146181504021022591461815040210220120425161608667
Run Code Online (Sandbox Code Playgroud)
长度总是一样的.
我最初的想法是编写一些简单的编码器来利用大写和小写字母和数字来缩短这个字符串,看起来更像是这样:
a26Dkd38JK
Run Code Online (Sandbox Code Playgroud)
这完全是武断的,只是想尽可能清楚.我确信有一种非常光滑的方式可以做到这一点,可能已经内置.也许这是一个令人尴尬的问题甚至要问.
此外,我需要能够采取缩短的字符串并将其转换回更长的数值.我应该写一些东西并发布代码,还是我应该已经知道的这是一个用Python函数构建的一行?
谢谢!
我正在努力实施Oauth Api,并且发现有一些我无法验证的事情,如果有人能提供澄清,我会很高兴.警告我可能会絮絮叨叨,所以我会尝试用粗体标记我的问题.
根据oauth 1.0规范http://tools.ietf.org/html/rfc5849,我认为oauth params对签名进行百分比编码的方式与在线时不同.第3.6节http://tools.ietf.org/html/rfc5849#section-3.6 "它仅用于构造签名基本字符串和"授权"头字段."
RFC3986 http://tools.ietf.org/html/rfc3986 这似乎是正常请求中使用的百分比编码方案.但是我没有看到它将任何类型的'this'映射给'that'所以我假设如果字符在保留列表中,则应使用十六进制等效.
签名编码时''(空格)是%20的唯一区别是什么?Oauth规范参考了这一点,但我不能老实地找到其他规范中定义的位置.如果有人能指出我提到的地方以及我可能误解了它,那将是非常棒的.
其他空白字符应该是%20吗?在规范中哪里提到了那个?
传统的UrlEncode是否适用于表单体和查询参数?
最后,我有一些示例输出,我希望验证.我试图显示Oauth Signature Encoded字符和Url编码字符之间的区别.再一次,唯一的区别似乎是'','*'和'〜'的处理
Char Oauth Url
* %2A *
~ ~ %7E
% %25 %25
! %21 %21
: %3A %3A
/ %2F %2F
= %3D %3D
& %26 %26
+ %2B %2B
%20 +
, %2C %2C
@ %40 %40
\r\n %0D%0A %0D%0A
\n %0A %0A
\r %0D %0D
" %22 %22
? %3F %3F
( %28 %28
) %29 %29
| %7C …Run Code Online (Sandbox Code Playgroud) 我正在构建一个小型Web应用程序,它将为每个插入的人保存大约10条信息.由于数据保护,大部分信息必须加密.
使用CodeIgniter框架和CodeIgniter加密类,我可以在将数据存储到数据库之前对应用程序端的信息进行编码.CodeIgniter加密类使用PHP的mcrypt函数和AES_256密码.
我遇到的问题是我需要允许应用程序的用户搜索使用通配符搜索存储的信息,也可能在以后通过API搜索.
任何机构都会遇到类似问题的解决方案.我已经阅读了有关MySQL AES_ENCRYPT和AES_DECRYPT的内容,但是他们仍然需要在纯文本中来回传递密钥,我不愿意这样做.
我目前的结论是,如果我希望继续这条路线,那么每次进行搜索时,全表解密是我唯一的解决方案(显然不是很好).
我有一个.csv数据,我可以从网页上查看它,但是当我读到它时R,一些数据无法显示.数据可在此处获得home.ustc.edu.cn/~lanrr/data.csv
mydata = read.csv("http://home.ustc.edu.cn/~lanrr/data.csv", header = T)
View(mydata) # show something like this:
# 9:39:37 665 600160 ?????? ???? ???? 8.050 100 805.00 ??? ???
??????? E004017669 665
2 9:39:38 697 930 ???????? ???? ???? 4.360 283 1233.88
???? ??? ????????? 680001369 697
Run Code Online (Sandbox Code Playgroud)
数据包含一些中文单词,但如果我需要更改编码或做其他事情,我不会,之前有没有人遇到过这个问题?
mydata = read.csv("http://home.ustc.edu.cn/~lanrr/data.csv",
encoding = "UTF-8", header = T, stringsAsFactors = F)
View(mydata)
# 9:39:37 665 600160 <U+00BE><U+07BB><U+00AF><U+00B9><U+0277><dd> <c2><f4>
<U+00B3><f6> <c2><f2><c2><f4> 8.050 100 805.00 <c8><da><U+022F>
<U+00B3><U+027D><U+00BB> <c8><da><U+022F><c2><f4><U+00B3><f6> E004017669 665
2 9:39:38 …Run Code Online (Sandbox Code Playgroud) http://www.example.com/some_folder/some file [that] needs "to" be (encoded).zip
urlencode($myurl);
Run Code Online (Sandbox Code Playgroud)
问题是,urlencode还将编码使URL无法使用的斜杠.我怎么能只编码最后的文件名?
解码编码字符串的最佳方法是什么:u'u\xf1somestring'?
背景:我有一个包含随机值(字符串和整数)的列表,我正在尝试将列表中的每个项目转换为字符串,然后处理它们中的每一个.
原来有些项目的格式是: u'u\xf1somestring'
当我尝试转换为字符串时,我收到错误:UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 1: ordinal not in range(128)
我试过了
item = u'u\xf1somestring'
decoded_value = item.decode('utf-8', 'ignore')
Run Code Online (Sandbox Code Playgroud)
但是,我一直得到同样的错误.
我已经阅读了关于unicode角色的内容,并尝试了一些来自SO的建议,但到目前为止还没有任何建议.我在这里错过了什么吗?
我只是将一个mp3文件转换为字节代码并将该字节代码重新转换为mp3并保存到sdcard,所有过程都成功进行但问题是保存的mp3文件没有在设备mp3播放器上播放它显示不支持的格式.
我的下面的代码有什么问题
private void convertBytesToFile(byte[] bytearray) {
byte[] bytes = bytearray;
String encoded = Base64.encodeToString(bytes, 0);
// Utilities.log("~~~~~~~~ Encoded: ", encoded);
byte[] decoded = Base64.decode(encoded, 0);
//Utilities.log("~~~~~~~~ Decoded: ", Arrays.toString(decoded));
try
{
File file2 = new File(Environment.getExternalStorageDirectory() + "/hello-2.mp3");
FileOutputStream os = new FileOutputStream(file2, true);
os.write(decoded);
os.close();
}
catch (Exception e)
{
Toast.makeText(this, "Somthing wrong", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
或者我遗失的任何东西.请帮朋友.