代码之家  ›  专栏  ›  技术社区  ›  Matthijs Mennens

无法用abap取消转义字符串的外观

  •  4
  • Matthijs Mennens  · 技术社区  · 6 年前

    我想这样从sapui5的字符串中逃脱。

    var escapedLongText = escape(unescapedLongText);
    

    字符串(UTF-8引号、空格、Unicode引号)

    “第156页

    转义字符串

    %22%20%U201C

    我想用这个方法对它进行调整,但是它返回空的。有什么想法吗?

    DATA: LV_STRING TYPE STRING.
    
    LV_STRING = '%22%20%u201C'.
    
    CALL METHOD CL_HTTP_UTILITY=>UNESCAPE_URL
      EXPORTING
       ESCAPED   = LV_STRING
    RECEIVING
        UNESCAPED = LV_STRING.
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Matthijs Mennens    6 年前

    我将sapui5中的代码更改为:

    var escapedLongText = encodeURI(unescapedLongText);
    

    结果是:(就像安德烈亚斯提到的)

    %22%20%E2%80%9C

    如果我想稍后在sapui5中解码,可以这样做:

    var unescapedLongText = unescape(decodeURI(escapedLongText));
    

    需要执行unescape,因为逗号(例如)似乎不会自动解码。