當前位置: 首頁>>代碼示例>>Java>>正文


Java StringUtils.escapeEasternUnicodeByteStream方法代碼示例

本文整理匯總了Java中com.mysql.jdbc.StringUtils.escapeEasternUnicodeByteStream方法的典型用法代碼示例。如果您正苦於以下問題:Java StringUtils.escapeEasternUnicodeByteStream方法的具體用法?Java StringUtils.escapeEasternUnicodeByteStream怎麽用?Java StringUtils.escapeEasternUnicodeByteStream使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.mysql.jdbc.StringUtils的用法示例。


在下文中一共展示了StringUtils.escapeEasternUnicodeByteStream方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: testEscapeSJISDoubleEscapeBug

import com.mysql.jdbc.StringUtils; //導入方法依賴的package包/類
/**
 * Tests fix for BUG#879
 * 
 * @throws Exception
 *             if the bug resurfaces.
 */
public void testEscapeSJISDoubleEscapeBug() throws Exception {
    String testString = "'It\\'s a boy!'";

    byte[] testStringAsBytes = testString.getBytes("SJIS");

    byte[] escapedStringBytes = StringUtils.escapeEasternUnicodeByteStream(testStringAsBytes, testString);

    String escapedString = new String(escapedStringBytes, "SJIS");

    assertTrue(testString.equals(escapedString));

    byte[] origByteStream = new byte[] { (byte) 0x95, (byte) 0x5c, (byte) 0x8e, (byte) 0x96, (byte) 0x5c, (byte) 0x62, (byte) 0x5c };

    String origString = "\u955c\u8e96\u5c62\\";

    byte[] newByteStream = StringUtils.escapeEasternUnicodeByteStream(origByteStream, origString);

    assertTrue((newByteStream.length == (origByteStream.length + 2)) && (newByteStream[1] == 0x5c) && (newByteStream[2] == 0x5c)
            && (newByteStream[5] == 0x5c) && (newByteStream[6] == 0x5c));

    origByteStream = new byte[] { (byte) 0x8d, (byte) 0xb2, (byte) 0x93, (byte) 0x91, (byte) 0x81, (byte) 0x40, (byte) 0x8c, (byte) 0x5c };

    testString = new String(origByteStream, "SJIS");

    Properties connProps = new Properties();
    connProps.put("useUnicode", "true");
    connProps.put("characterEncoding", "sjis");

    Connection sjisConn = getConnectionWithProps(connProps);
    Statement sjisStmt = sjisConn.createStatement();

    try {
        sjisStmt.executeUpdate("DROP TABLE IF EXISTS doubleEscapeSJISTest");
        sjisStmt.executeUpdate("CREATE TABLE doubleEscapeSJISTest (field1 BLOB)");

        PreparedStatement sjisPStmt = sjisConn.prepareStatement("INSERT INTO doubleEscapeSJISTest VALUES (?)");
        sjisPStmt.setString(1, testString);
        sjisPStmt.executeUpdate();

        this.rs = sjisStmt.executeQuery("SELECT * FROM doubleEscapeSJISTest");

        this.rs.next();

        String retrString = this.rs.getString(1);

        System.out.println(retrString.equals(testString));
    } finally {
        sjisStmt.executeUpdate("DROP TABLE IF EXISTS doubleEscapeSJISTest");
    }
}
 
開發者ID:bragex,項目名稱:the-vigilantes,代碼行數:57,代碼來源:StringRegressionTest.java


注:本文中的com.mysql.jdbc.StringUtils.escapeEasternUnicodeByteStream方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。