VB.net中是否有一个包含ascii值列表的函数

时间:2019-07-06 01:44:46

标签: ascii

我想编写一个函数,该函数接受一个值参数(保留值x),然后生成ASCII表中x后面的字符的ASCII码。例如,当我调用该函数并将值“ B”传递给该函数时,该函数将返回ASCII值“ C”

2 个答案:

答案 0 :(得分:0)

是,请尝试Strings.Asc

function readTableRow(row) {
    var values  = [];
    $("td", row).each(function(index, field) {
        var span = $(field).attr("colspan");
        var val = $(field).text();
        if (span && span > 1) {
            for (var i = 0; i<span; i++ ) {
                values.push(val);
            }
        } else {
            values.push(val);
        }
    });
    return values;
}

function getColumnsVal(id) {
    // Read the first row, taking colspans into account
    var first_row = $("table#" + id + " thead tr:eq(0)");
    var first_row_vals = readTableRow(first_row);

    // Read the second row, taking colspans into account
    var second_row = $("table#" + id + " thead tr:eq(1)");
    var second_row_vals = readTableRow(second_row);

    if (first_row_vals.length != second_row_vals.length) {
        return null;
    }

    var results = [];
    for (var i = 0; i<first_row_vals.length; i++) {
        results.push([first_row_vals[i].trim(), second_row_vals[i].trim()].filter(function (el) {return el}).join("-"));
    }

    return results;
}

function displayResults(results) {
    var result = "RESULT: <br />";
    results.forEach(function(r) {
        result = result + r + "<br />";
    });
    $("#result").html(result);
}

displayResults(getColumnsVal("sample"));

Asc的倒数是Chr

https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.strings.asc?view=netframework-4.8

答案 1 :(得分:0)

不,没有列表,至少没有直接列出。

像VB4 / 5/6 / A / Script,C#,F#,Java,JavaScript…一样,“ Visual Basic”(自2005年被Microsoft调用)使用Unicode字符集的UTF-16字符编码为其文本数据类型。

Unicode将来自ASCII的所有字符合并为Unicode的C0 Controls and Basic Latin块,并且具有相同的值,并且顺序相同。

Visual Basic和.NET没有此类字符的列表。您可能会注意到它们都是由UTF-16以一个代码单位(Char)进行编码的,范围从&H0到&H7F`。

因此,除了超出ASCII范围的末尾外,您可以在UTF-16上执行字符代码数字行运算以得到相同的结果。代码注释将说明您如何使用UTF-16数据类型解决描述为使用ASCII的问题。


Function Succ(C As Char) As Char
    Dim utf16 = AscW(C)

    ' Intent is to use this method only for "ASCII" characters, which have the same values in UTF-16 code units.
    If utf16 >= &H7F Then Throw New ArgumentOutOfRangeException(Nameof(C), "Result must be within the C0 Controls and Basic Latin block.") 

    Return ChrW(utf16 + 1)
End Function