Oracle
 sql >> база данни >  >> RDS >> Oracle

Java - Пребройте точно 60 знака от низ със смес от UTF-8 и различни от UTF-8 знаци

Доколкото разбирам, искате да ограничите String дължина по начин, по който кодираният UTF-8 представянето не надвишава 60 байта. Можете да го направите по следния начин:

String s=…;
CharsetEncoder enc=StandardCharsets.UTF_8.newEncoder();
ByteBuffer bb=ByteBuffer.allocate(60);// note the limit
CharBuffer cb = CharBuffer.wrap(s);
CoderResult r = enc.encode(cb, bb, true);
if(r.isOverflow()) {
    System.out.println(s+" is too long for "
                      +bb.capacity()+" "+enc.charset()+" bytes");
    s=cb.flip().toString();
    System.out.println("truncated to "+s);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Списък със задачи

  2. Генериране на пореден номер в select

  3. VS2010 + драйвер на Oracle:ORA-12154:TSN:не може да разреши посочения идентификатор за свързване

  4. jBPM 6.5 + Tomcat 8 + Bitronix Transaction + Oracle 11G конфигурация | Не можа да се ангажира сесия java.lang.NullPointerException

  5. Преобразуване на часовата зона в SQL заявка