我正在从Microsoft堆栈(即WPF)过渡到HTML5,因此对于这个问题的非专业性质,我们会提前道歉。
当前的主题是HTML编码和解码。
考虑一个HTML5应用程序,它通过HTTP对C#后端进行AJAX调用。服务器以独占方式返回JSON格式的数据,始终确保使用来对JSON值字段进行HTML编码HttpUtility.HTMLEncode()。
HTML5客户端反向执行相同的过程。首先,使用简单的JavaScript帮助程序功能将所有发布到服务器的数据进行HTML解码。
HTML5应用程序中所有可能显示的字符串数据都以HTML编码形式存储并从一个地方传递到另一个地方。这个方案对我来说效果很好。但是今天,我发现了HTML5文本框,并发现了一些奇怪的地方。文本框似乎不喜欢编码文本。
如果我有这样定义的文本框:
<input id="festus" type="text"/>
Run Code Online (Sandbox Code Playgroud)
并进行如下更新:
$("#festus").val(someEncodedString)
Run Code Online (Sandbox Code Playgroud)
…文本框显示嵌入到someEncodedString中的实际代码,而不是将这些代码转换为适当的字符。我为浏览器对所有DOM元素执行正确的转义码解释而感到惊讶。
我试图通过为val()编写一个名为val2()的辅助程序/包装程序来解决问题:
$.prototype.val2=function(newVal){
return (newVal===undefined)
?iHub.Utils.encodeHTML(this.val()) //getting value
:this.val(iHub.Utils.decodeHTML(newVal)); //setting value
}
Run Code Online (Sandbox Code Playgroud)
[iHub.Utils是我编写的辅助函数库]
这里的想法是val2()将在获取值时对从我的文本框中检索的数据进行适当的编码,并在设置值之前对其进行解码。这似乎可行,但我无法撼动这种感觉,即我必须对HTML5中编码/解码应如何工作产生基本的误解。
使用文本框时是否对数据进行编码/解码是标准做法?文本框在某种程度上是否特别,与其他常见元素(例如<p>和)不同<select>,在显示编码的输入字符串时不执行标准解码?
再次,抱歉,如果这太基础了。HTML5和JavaScript对我来说还很陌生,而我的“ HTML5简介”类型的书并未真正深入讨论此主题。
我正在阅读MS Office Word 2010文件(.docx),然后搞乱它,然后将其写入新文件.我添加的唯一字符是在大多数键盘上找到的字符(字母,数字,标点符号......),我也会将现有字符移动一点点.
StreamReader sr = new StreamReader(File.OpenRead("fs.docx"));
string foo = sr.ReadToEnd();
sr.Close();
string foo2 = EncryptFile(foo);
StreamWriter sw = new StreamWriter(File.Create("sal.docx"));
sw.Write(foo2); // THIS IS WHERE THE EXCEPTION HAPPENS
sw.Close();
foo = DecryptFile(foo2);
StreamWriter sww = new StreamWriter(File.Create("sal2.docx"));
sww.Write(foo);
sww.Close();
public static string Salt(string Input)
{
Random rand = new Random();
string Output = "";
string BigSalt = "";
int SaltIncrement = rand.Next(4, 8);
for (int i = 0; i < 10; i++) {
BigSalt += FindCipherPlainText.Substring(rand.Next(0, FindCipherPlainText.Length), …Run Code Online (Sandbox Code Playgroud) 我有一个参数,我必须作为网址的一部分传递.该参数包含以下字符:ß
当我编码这个字符串时,我期待这个:%DF,但我得到:%c3%9f
这是我用来测试的一系列C#
string test = HttpUtility.UrlEncode("ß");
Run Code Online (Sandbox Code Playgroud) 我想用双重编码一对整数.例如,说我想传递一个函数:
foo(int a, int b)
Run Code Online (Sandbox Code Playgroud)
但相反,我想只用一个双来代表两个整数(即):
foo(double aAndB)
Run Code Online (Sandbox Code Playgroud)
目前我通过在小数位的两边有一个int(即10和15将变为10.15)然后将其转换为字符串流标记并提取这两个数字来实现.
然而,当涉及像10和10这样的数字时,这有一个明显的缺陷,即它变为10.1.
有没有办法通过一些棘手的数学方法来做到这一点,以便我可以传递一个代表2英特的双重函数?
谢谢.
我在java中编写了一个代码,其中有表单(输入字段),最后是底部的发送邮件按钮.当用户点击按钮时,输入字段中的数据应被提取,然后用作电子邮件中正文的数据.
这是我的代码:
if (role.getValue().equals("1")) {
Desktop desktop = Desktop.getDesktop();
String message = "mailto:username@domain.com?subject=Profildaten&body=" +
"Externe%20Referenz:%20" +
person.getExternalReference() + "%20" + "-%20" +
person.getExternalReferenceType() + "%0A" +
person.getTitle() + "%20" +
person.getContactLandline() + "%0A" +
"Mobil:%20" + person.getContactMobile() + "%0A" +
"Addresse:" + person.getContactStreet();
URI uri = URI.create(message);
try {
desktop.mail(uri);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
这一切都很完美,但唯一的问题是地址:person.getContactStreet()实际输入字段要求用户输入街道名称,通常它是两个单词,例如克伦威尔路 - 在克伦威尔和道路之间有一个空格.现在电子邮件的正文不允许有空格和其他无效字符,因此它会弹出一条错误消息,说明输入了无效字符.我如何让它接受这个或自动将无效字符转换为url编码?
我正在尝试从Objective-C类中获取实例变量的名称.假设我有一个看起来像这样的类:
@interface MyClass : NSObject
@property (nonatomic, copy) NSSNumber *myVar;
@end
Run Code Online (Sandbox Code Playgroud)
鉴于myVar,我想获得"myVar".然后我可以在这样的日志中使用它:
MyClass *myObject = [[myClass alloc] init];
NSLog(@"The variable is named: %@", getVarName([myObject myVar]));
Run Code Online (Sandbox Code Playgroud)
然后日志会说:The variable is named myVar.谢谢您的帮助!
PS我想要这样做的原因是创建一个编码变量以进行归档的方法.所以当我编写我的encodeWithCoder方法时,我可以做这样的事情:
- (void)encodeWithCoder:(NSCoder *)aCoder
{
NSArray *varsForEncoding = [[NSArray alloc] initWithObjects:var1, var2, var3, nil];
for (NSObject *var in varsForEncoding)
{
[aCoder encodeObject:var forKey:getVarName(var)];
}
}
Run Code Online (Sandbox Code Playgroud)
然后反过来initWithCoder.这样可以防止打字错误,例如@"myVar"在编码时使用键但输入@"mVar"初始化程序.
我在C#中的字符串有点问题.实际上,我通过URL获取JSON流.
WebClient webC = new WebClient();
string jsonStr = webC.DownloadString("http://www.express-board.fr/api/jobs");
Run Code Online (Sandbox Code Playgroud)
但是当我在控制台中编写字符串时,我遇到了编码问题.
[...]"contract":"Freelance/Indépendant"[...]
Run Code Online (Sandbox Code Playgroud)
我尝试使用Encoding类在stackoverflow上看到很多技巧.但不可能,解决问题.当然,如果我直接在我的网络浏览器中使用链接并在Notepadd ++中打开它没问题.
有时,通过编码的一些组合(我认为是ACSII-> UTF-8),我得到了这个:
[...]"contract":"Freelance/Indépendant"[...] to
[...]"contract":"Freelance/Ind??pendant"[...]
Run Code Online (Sandbox Code Playgroud) 我有一个字符串(C#代码),如下所示:
string s = "Indsætning";
Run Code Online (Sandbox Code Playgroud)
它以某种方式编码,我不确定.
我想解码它,以便我得到以下字符串:
Indsætning
Run Code Online (Sandbox Code Playgroud)
我试过了
string s1 = HttpUtility.UrlDecode(s);
string s2 = HttpUtility.HtmlDecode(s);
Run Code Online (Sandbox Code Playgroud)
但是,我没有得到我正在寻找的字符串.
任何帮助表示赞赏.
我正在记录一个旧的文件格式,并且难以理解以下问题.
似乎整数是可变长度编码的,数字<= 0x7F在单个字节0x80中编码,但是> = 以两个字节编码.一组示例整数及其编码对应项:
0x390 被编码为 0x90070x150 被编码为 0xD0020x82 被编码为 0x82010x89 被编码为 0x8901我还没有遇到任何大于的数字0xFFFF,所以我不能确定它们是否/如何被编码.对于我的生活,我无法弄清楚这里的模式.有任何想法吗?
这些"人物"似乎很有趣.它们是什么?我想了解更多有关它们的技术信息.谢谢!ه҈҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉ه҈҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉ه҈҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉