标签: encoding

与文本框有关的HTML编码/解码

我正在从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简介”类型的书并未真正深入讨论此主题。

javascript jquery html5 encoding textbox

0
推荐指数
1
解决办法
2151
查看次数

写入文件时出现EncoderFallbackException

我正在阅读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)

c# debugging encoding character-encoding

0
推荐指数
1
解决办法
1828
查看次数

带有ß字符的字符串的UrlEncoding问题

我有一个参数,我必须作为网址的一部分传递.该参数包含以下字符:ß

当我编码这个字符串时,我期待这个:%DF,但我得到:%c3%9f

这是我用来测试的一系列C#

  string test = HttpUtility.UrlEncode("ß");
Run Code Online (Sandbox Code Playgroud)

c# encoding urlencode

0
推荐指数
1
解决办法
2669
查看次数

将多个int编码为double

我想用双重编码一对整数.例如,说我想传递一个函数:

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英特的双重函数?

谢谢.

c++ encoding

0
推荐指数
1
解决办法
519
查看次数

Java Mail中的URL编码

我在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编码?

java url encoding

0
推荐指数
1
解决办法
988
查看次数

如何在Objective-C中获取实例变量的名称?

我正在尝试从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"初始化程序.

variables encoding metadata objective-c ios

0
推荐指数
1
解决办法
1827
查看次数

Web请求C#获取的带有JSON流的字符串编码

我在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 encoding json

0
推荐指数
1
解决办法
1022
查看次数

解码字符串以获取值"Indsætning"

我有一个字符串(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)

但是,我没有得到我正在寻找的字符串.

任何帮助表示赞赏.

c# encoding urlencode

0
推荐指数
1
解决办法
150
查看次数

这个可变长度整数编码是什么?

我正在记录一个旧的文件格式,并且难以理解以下问题.

似乎整数是可变长度编码的,数字<= 0x7F在单个字节0x80中编码,但是> = 以两个字节编码.一组示例整数及其编码对应项:

  • 0x390 被编码为 0x9007
  • 0x150 被编码为 0xD002
  • 0x82 被编码为 0x8201
  • 0x89 被编码为 0x8901

我还没有遇到任何大于的数字0xFFFF,所以我不能确定它们是否/如何被编码.对于我的生活,我无法弄清楚这里的模式.有任何想法吗?

encoding integer variable-length 8-bit

0
推荐指数
1
解决办法
4192
查看次数

这些是什么 ?ه҈҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉

这些"人物"似乎很有趣.它们是什么?我想了解更多有关它们的技术信息.谢谢!ه҈҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉ه҈҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉ه҈҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉

string encoding character

0
推荐指数
1
解决办法
284
查看次数