相关疑难解决方法(0)

如何从.NET中的字符串中删除变音符号(重音符号)?

我正在尝试转换一些法语加拿大语的字符串,基本上,我希望能够在保留字母的同时取出字母中的法语重音符号.(例如转换ée,所以crème brûlée会变成creme brulee)

实现这一目标的最佳方法是什么?

.net string diacritics

415
推荐指数
13
解决办法
18万
查看次数

Stack Overflow如何生成其SEO友好的URL?

什么是完整的正则表达式或其他一些可以获得标题的过程:

如何将标题更改为Stack Overflow等URL的一部分?

把它变成

how-do-you-change-a-title-to-be-part-of-the-url-like-stack-overflow
Run Code Online (Sandbox Code Playgroud)

Stack Overflow上的SEO友好URL中使用了哪些?

我使用的开发环境是Ruby on Rails,但是如果还有其他一些特定于平台的解决方案(.NET,PHP,Django),我也很乐意看到它们.

我相信我(或其他读者)会在不同的平台上遇到同样的问题.

我正在使用自定义路由,我主要想知道如何更改字符串以删除所有特殊字符,它全部小写,并且所有空格都被替换.

regex language-agnostic seo friendly-url slug

245
推荐指数
7
解决办法
4万
查看次数

如何将 UTF-8 字符转换为 ASCII 以在 URL 中使用?

我想自动转换 UTF-8 字符â Ù á ? ?a U a C G以便它们在 URL 中是可以接受的。

到目前为止,我有这个:

Encoding sourceEncoding = Encoding.GetEncoding(28591); // ISO-8859-1

byte[] asciiBytes = Encoding.Convert(sourceEncoding, Encoding.ASCII, sourceEncoding.GetBytes(<source text>));

String asciiString = Encoding.UTF8.GetString(asciiBytes);
Run Code Online (Sandbox Code Playgroud)

这种方法有两个问题:

  1. 这适用于某些字符(? 和 ?),但对于其他字符(â、Ù、á),它会返回一个问号代替该字符。
  2. 整个站点使用 UTF-8,而不是 ISO-8859-1,但是当我将 sourceEncoding 设置为 Encoding.UTF8 时,所有字符都转换为问号,因此它根本不起作用。

有什么想法可以让我完成这项工作吗?

.net c# asp.net dotnetnuke

2
推荐指数
1
解决办法
6680
查看次数

Char为29个unicode charachters返回错误的值 - 需要.NET转换/将nchar转换为char

需要将SQL nchar的.NET转换/转换为char.
更具体地说,将nchar UNICODE强制转换为char ASCII.

这很复杂的是SQL char使用完整的字节.
不是128的纯ASCII
.TSQL函数ASCII返回0-255.

理想情况下,FormByte会有一个NormalizationForm.
它不是一个确切的文本值 - 而是一个接近的逻辑值或?.
SQL会使用FormByte从nchar转换为char.
NormalizationForm

编码解码对我来说不起作用,我尝试了各种口味.

在SQL中,许多char(字节)映射到63. 63是?
不只是255以上的char映射到63.
130到140都映射到63.

角色160-255全部返回160-255

超过255并不是全部都映射到63.
例如,许多变音符号被映射到ASCII.

TSQL具有UNICODE和ACSII功能.
所以我只是将所有Unicode字符加载到char和nchar列中.

SQL返回的char对于29个字符是错误的.
并且为坏字符返回的ASCII()没有意义 - 所有控制字符在130-160范围内.
检查二进制文件中是否存在错误的29,存储的内容是ASCII()返回的内容.
对于27,从char返回的是nchar和2,它甚至不是正确的nchar.它们都应映射到?或ACSII等价物.
"和"映射到"(但将采取?)"和"映射到"
- (简称)和 - (em破折号)映射到 -
...

我知道你不相信我.
将'Œ'插入char列并选择它 - 它将返回'Œ'.
你甚至可以搜索它 - char ='Œ'返回true.
选择ASCII('Œ')返回140,这是实际存储的内容(检查二进制).
UNICODE对140/8C的定义是偏序线.
我检查了该char的二进制值,它是8C(140).
返回的是unicode'Œ'Int16338.
看起来SQL正在做一些输入输出映射并弄错了.

ASCII函数对于未映射到?的575个unicode字符是否正确.
char值与ACSII匹配,它们都有意义.
EG 12种不同形式的u都映射到u.
除了32163个字符?被映射到?(63).

下面是返回错误值的29个字符.
列顺序:
char
nchar
ASCII(char)
UNICODE(nchar)

     sqlCharASCIIbackToString did not match  Œ Œ 140 338
     sqlCharASCIIbackToString did not match  œ œ 156 339
     sqlCharASCIIbackToString did …
Run Code Online (Sandbox Code Playgroud)

.net t-sql sql-server unicode

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

Vigenere Cipher c#with"ñ"

我正在c#中制作一个Vigenere密码程序,但是我遇到了一个问题,我没有"Ñ"我想要像Vigenere密码那样加密但是用"Ñ"如何添加字母"Ñ "这个代码?这样,密钥和s都保持这种方式:a = 0 b = 1 ... n =13ñ= 14 ... z = 26之后的地方飞行

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
    static void VigenereEncrypt(ref StringBuilder s, string key)
    {
        for (int i = 0; i < s.Length; i++) s[i] = Char.ToUpper(s[i]);
        key = key.ToUpper();
        int j = 0;
        for (int i = 0; i < s.Length; i++)
        {
            if (Char.IsLetter(s[i]))
            {
                s[i] = (char)(s[i] + key[j] - 'A');
                if (s[i] > 'Z') …
Run Code Online (Sandbox Code Playgroud)

c# vigenere

-3
推荐指数
1
解决办法
4754
查看次数