DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: a12315
今日帖子: 48
在线用户: 14
导航: 论坛 -> 移动应用开发 斑竹:flyers,iamdream  
作者:
男 aknightchen (.) ★☆☆☆☆ -
盒子活跃会员
2020/5/1 19:00:02
标题:
请教: FMX.Android下,如何判断字符串中,含有表情符号? 浏览:1442
加入我的收藏
楼主: 对于数据库的一些关键索引字段, 

在判断唯一索引时, 它是直接去掉这些表情符号来判断的.

比如:

1>.A(笑脸)
2>.A

1和2是认为相同的, 因此, 希望在手机端,就能识别出它含有表情符号.

(只要能判断它含有表情符号, 就直接提示用户检查输入...)

哪位朋友指点一下, 非常感谢!
----------------------------------------------
...
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2020/5/1 19:43:26
1楼: https://www.jianshu.com/p/64ec0f6b6245
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2020/5/1 19:44:42
2楼: 按此在新窗口浏览图片
简单点就是输出 Emoji (笑脸) 的大小 再去看范围  
不清楚Android  默认是什么编码
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 pp0123 (pp0123) ★☆☆☆☆ -
普通会员
2020/5/2 0:09:30
3楼: 祇知其中一种方式是使用专有字库, 更改现有字库内特定字, 然后以 Web font 方式使用.输入时搜索并更改特定字, 成为表情字的内码.
----------------------------------------------
-
作者:
男 aknightchen (.) ★☆☆☆☆ -
盒子活跃会员
2020/5/2 8:50:41
4楼: 谢谢keymark发给我的文章. 让我有了初步了解.

可能还是采纳你的方法, 多搞几点个表情, 测试一下它的范围, 软件中写死禁止它..
----------------------------------------------
...
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2020/5/2 9:03:39
5楼: 最早我用的笨办法就是全范围打印出来 然后看哪里开始哪里结束按此在新窗口浏览图片     当然不是 Emoji 。。是 繁简字
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 aknightchen (.) ★☆☆☆☆ -
盒子活跃会员
2020/5/2 9:39:29
6楼: function fGetUniCodeNumber(GB:string):Integer;
var    //计算Unicode编码,代码可能不太好, 希望大侠指出更好方法,
  i,j,k:integer;
  a:array[1..20] of Char;
begin
  Result:=0;

  StringToWideChar(GB,@(a[1]),10);
  i:=1;
  while ((a[i] <> #0) or (a[i+1] <> #0)) do
  begin
    j:=Integer(a[i]);
    k:=Integer(a[i+1]);
    Result:=k*$100+j;
    Exit;
  end;
end;

function fExistsEmojiChar(sUnicodeText:UnicodeString):Boolean;
var
  i,iResult:Integer;
begin
  Result:=False;
  for i:=1 to Length(sUnicodeText) do
  begin
    iResult:=fGetUniCodeNumber(Copy(sUnicodeText,i,1));
    //这个范围是大致的, 具体肯定不对,但也好像差不多管用
    //我不太懂原理, 瞎懵的代码, 希望有大侠斧正
    if (iResult>=55000) and (iResult<=59000) then
    begin
      Result:=True;
      Exit;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if fExistsEmojiChar(Memo1.Text) then
  begin
    showmessage('有表情符号在内(fmx.andoird下测试还凑合着用)');
  end;
end;
----------------------------------------------
...
作者:
男 aknightchen (.) ★☆☆☆☆ -
盒子活跃会员
2020/5/2 9:39:56
7楼: 以上是我自个凑出来的代码, 

我不太懂原理, 瞎懵的代码, 希望有大侠斧正
----------------------------------------------
...
作者:
男 bbnn38 (伟大的咸鱼) ★☆☆☆☆ -
普通会员
2020/5/5 16:45:58
8楼: D800-DBFF :High-half zone of UTF-16
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行726.5625毫秒 RSS