DXL - 意外的字符输出

时间:2017-09-12 12:59:18

标签: character-encoding ibm-doors

我正在写一个函数来替换子串(laguange没有这个,grr),而且我的输出中有一些奇怪的字符。我无法弄清楚原因。

string replaceSubstring(string input, string targetSubstring, string substitute, bool matchCase)
{
    string result = input
    Buffer b = create
    b = input
    int targetStartPos
    int targetLength

    while (findPlainText(result, targetSubstring, targetStartPos, targetLength, matchCase))
    {
        string prefixStr = b[0:targetStartPos - 1]
        string suffixStr = b[targetStartPos + targetLength:]

        b = prefixStr substitute suffixStr
        result = tempStringOf(b)
    }

    delete b
    return result
}

运行print replaceSubstring("Jake Lewis", "ake", "ack", false)时,我得到�*��*�is的输出。这似乎是某种编码问题,但我不清楚这是如何发生的,或者如何解决它。

1 个答案:

答案 0 :(得分:1)

尝试使用stringOf()代替tempStringOf()。您的处理很好,但删除b后结果将无效。