stringutility.java
来自「开源项目CRM之OpenCustomer」· Java 代码 · 共 77 行
JAVA
77 行
/*******************************************************************************
* ***** BEGIN LICENSE BLOCK Version: MPL 1.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
*
* The Original Code is the OpenCustomer CRM.
*
* The Initial Developer of the Original Code is Thomas Bader (Bader & Jene
* Software-Ingenieurb黵o). Portions created by the Initial Developer are
* Copyright (C) 2005 the Initial Developer. All Rights Reserved.
*
* Contributor(s): Thomas Bader <thomas.bader@bader-jene.de>
*
* ***** END LICENSE BLOCK *****
*/
package org.opencustomer.web.util;
public class StringUtility
{
/**
* Convert a string into a string where all characters which are no latin
* letters or digits are converted in unicode escape sequences.
*
* @param input the input string to be converted to a unicode escape string
* @return a string which contains the escape sequences in unicode
*/
public static final String unicode(final String input)
{
final StringBuffer result = new StringBuffer();
if (input != null)
{
for (int i = 0; i < input.length(); ++i)
{
final char ch = input.charAt(i);
final String s = hex(ch);
final int h = Integer.parseInt(s, 16);
if (h > 31 && h < 127 && h != 34 && h != 38 && h != 60 && h != 62)
{
// ascii chars will be unconverted
result.append(ch);
}
else
{
// each other characters will be converted in the unicode
// format where no control sequences are allowed
if ("00FC".equals(s))
result.append('\u00FC');
else
result.append(ch);
// result.append( "\\u"+s );
// result.append( s );
}
}
}
return result.toString();
}
private static final String hex(final char ch)
{
final StringBuffer result = new StringBuffer();
String foo = Integer.toString(ch, 16).toUpperCase();
for (int i = foo.length(); i < 4; i++)
result.append("0");
return result + foo;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?