Tag: unicode

Unicode字符串到SQLite数据库中

我想在Visual Studio C#代码中提供一些帮助,将unicode字符串插入到SQLite数据库中。 下面是我将测试字符串写入数据库的测试代码: string testStr = “á Á ñ ç é á”; SQLiteConnection mydataConnection = new SQLiteConnection(); // setup new sql connection obj try { //// SQLite DB mydataConnection.ConnectionString = “Data Source=C:\\Users\\John\\Desktop\\location.db; Version=3; UseUTF16Encoding=True;Synchronous=Normal;New=False”; // set up the connection string mydataConnection.Open(); // open the connection to the db SQLiteCommand myCmd = new SQLiteCommand(); // […]

六位数unicode逃逸价值比较

我有一个六位数的unicode字符,例如U+100000 ,我希望与我的C#代码中的另一个char进行比较。 我对MSDN文档的阅读是这个字符不能用char表示,而必须用string表示。 字符文字中不允许使用U + 10000到U + 10FFFF范围内的Unicode字符,并使用字符串文字中的Unicode代理项对表示 我觉得我遗漏了一些显而易见的东西,但你怎么能让跟随比较正常工作: public bool IsCharLessThan(char myChar, string upperBound) { return myChar < upperBound; // will not compile as a char is not comparable to a string } Assert.IsTrue(AnExample('\u0066', "\u100000")); Assert.IsFalse(AnExample("\u100000", "\u100000")); // again won't compile as this is a string and not a char 编辑 k,我想我需要两种方法,一种是接受字符,另一种是接受“大字符”即字符串。 所以: public […]

尽管在UTF-8中编写XML,但仍在XmlElement中转义Unicode字符串

对于给定的XmlElement ,我需要能够将内部文本设置为Unicode字符串的转义版本,尽管文档最终以UTF-8编码。 有没有办法实现这个目标? 这是代码的简单版本: const string text = “ñ”; var document = new XmlDocument {PreserveWhitespace = true}; var root = document.CreateElement(“root”); root.InnerXml = text; document.AppendChild(root); var settings = new XmlWriterSettings {Encoding = Encoding.UTF8, OmitXmlDeclaration = true}; using (var stream = new FileStream(“out.xml”, FileMode.Create)) using (var writer = XmlWriter.Create(stream, settings)) document.WriteTo(writer); 预期: ñ 实际: ñ 直接使用XmlWriter并调用WriteRaw(text)可以正常工作,但我只能访问XmlDocument […]

我成功地从C#调用了advapi32的LsaEnumerateAccountRights()。 现在我如何解组它返回的LSA_UNICODE_STRING数组呢?

它是指向LSA_UNICODE_STRING结构数组的指针。 我找到了一些反向的代码,即从C#字符串创建一个LSA_UNICODE_STRING 。 您可以在下面的帮助程序代码部分中看到。 我所做的包括对LsaEnumerateAccountRights()的调用似乎工作得很好。 为数组指针和计数返回合理的值。 我不知道如何处理那些爆炸的字符串。 请帮忙? 好吗? 更新: nobugz的帮助函数在下面的答案中几乎是正确的,你只需UnicodeEncoding.CharSize来划分长度。 多亏了他,我现在可以在数组中看到FIRST字符串。 请参阅下面两个代码部分末尾的更新。 现在,我是如何做地狱世界的指针运算? 更新2.5:查看function代码的答案。 我丢失了旧的“错误”代码。

用unicode字符填写pdf表单

我试图用c#插入一些unicode charaters(arabic)到PDF格式我使用了iTextSharp库但是当我插入字符并在PDF文件中保存字符时,unicode字符才会显示,直到我双击字符的位置应该出现。 string pdfTemplate = @”c:\po.pdf”; string newFile = @”g:\test\completed_fw4.pdf”; PdfReader pdfReader = new PdfReader(pdfTemplate); PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.Create)); AcroFields pdfFormFields = pdfStamper.AcroFields; pdfFormFields.SetField(“position”, TextBox1.Text); pdfStamper.FormFlattening = false; // close the pdf pdfStamper.Close();

在C#文本文件读取中发出大约65533。

我创建了一个示例应用程序来加载所有特殊字符,同时将粘贴从Openoffice编写器复制到记事本。 双重代码不同,当我尝试加载它时。 var lines = File.ReadAllLines(“..\\ter34.txt”); 这会产生65533问题的问题,文本文件包含: “ 这已更改为符号:

当标签的字体不支持日文字符时,Label控件如何正确显示日文字符?

我正在使用.Net 4.5目标框架开发winform应用程序。 有一点我注意到,如果我在Label控件上显示日语文本而标签Font (Arial)不支持日文字符,那么Label也可以成功显示这些字符。 如果我在分配日文文本之前和之后检查标签的字体属性,它只显示“Arial”,所以字体可能不会动态变化。 标签有哪些内部function可以实现这一目标?

如何在复杂脚本中获取上下文形状输入的字符?

在一些RightToLeft语言(如阿拉伯语,波斯语,乌尔都语等)中,每个字母可以具有不同的形状。 有孤立的forms,初始forms和中间forms(您可以在窗口的字符映射中找到任何unicode字体)。 想象一下,您需要在文本框中输入用户的确切字符,默认情况下,当您将String转换为CharArray时,它会将每个字符转换为隔离格式。 (因为当用户通过键盘输入字符时,它处于隔离状态,当它在屏幕上显示时,它将被转换为正确的格式;这只是猜测。因为如果你使用确切的字符代码来创建字符串,它会生成正确的数组)。 我的问题是,我们如何获得字符串的forms,即文本框中显示的forms。 如果在.NET中没有办法那么这意味着我需要创建自己的类来转换这个T_T

使用REST和C#实现Google音译API,面临unicode和解析问题

我一直在尝试使用RESTful方法使用Google Transliterate API,因为它很容易通过服务器端语言(C#here)来实现。 因此,我遇到了以下url格式: http : //www.google.com/transliterate/indic? telqt = 1&lapapair = en | hi&text = bharat %2Cindia&tl_app = 3 ,它以下列格式返回JSON: [ { “ew” : “bharat”, “hws” : [ “भारत”,”भरत”,”भरात”,”भारात”,”बहरत”, ] }, { “ew” : “india”, “hws” : [ “इंडिया”,”इन्डिया”,”इण्डिया”,”ईन्डिया”,”इनडिया”, ] }, ] 我尝试了HttpWebRequest和HttpWebResponse来获取JSON,但它在Web浏览器上以Unicode的forms返回值,例如: [ { “ew” : “bharat”, “hws” : [ “\u092D\u093E\u0930\u0924″,”\u092D\u0930\u0924″,”\u092D\u0930\u093E\u0924″,”\u092D\u093E\u0930\u093E\u0924″,”\u092C\u0939\u0930\u0924”, ] }, { […]

强制C#使用ASCII

我正在使用C#编写应用程序,需要从特定的数据文件格式进行读写。 目前唯一的问题是格式使用严格的单字节字符,当我使用writer和char数组(其中文件大小加倍,以及其他严重问题)时,C#一直试图抛出Unicode。 我一直在努力修改代码以使用字节数组,但是在将它们提供给树视图和数据网格控件时会引起一些抱怨,并且它涉及转换等等。 我花了一点时间谷歌搜索,似乎没有一个简单的typedef我可以用来强制char类型为我的程序使用字节,至少不会导致额外的复杂性。 是否有一种简单的方法可以强制C# .NET程序仅使用ASCII而不接触Unicode? 后来,我得到了这个几乎工作。 在BinaryReader / Writers上使用ASCIIEncoding最终修复了大部分问题(一些额外字符被添加到字符串之前发生了一些问题,但我修复了这个问题)。 我有一个最后一个问题,它很小但可能很大:在文件中,一个特定字符(打印为欧元符号)转换为? 当我加载/保存文件。 这在文本中并不是一个问题,但如果它以记录长度发生,它可能会改变大小千字节(显然不是很好)。 我认为它是由编码引起的,但如果它来自文件,为什么它不会回来? 确切的问题/结果如下: 原始文件:0x80(欧元) 编码:** ASCII:0x3F(?)** UTF8:0xC280(A-hat euro) 这些结果都不会起作用,因为文件中的任何位置都可以更改(如果在记录长度int中将80更改为3F,则可能是65 *(256 ^ 3)的差异)。 不好。 我尝试使用UTF-8编码,认为这样可以很好地解决问题,但它现在正在添加第二个字符,这更糟糕。