Expression input method, apparatus and computer program storage medium

By intercepting and recognizing character code points in the application, adding them to the code point queue, and displaying the matching emojis, the problem of garbled character code point display was solved, achieving unified display and semantic transmission of emojis and text.

CN115686229BActive Publication Date: 2026-05-22TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2021-07-29
Publication Date
2026-05-22

AI Technical Summary

Technical Problem

In existing technology, character code points are displayed as garbled characters in the input box of the application, causing emoticons to not be displayed correctly.

Method used

By monitoring character input actions in the application, intercepting character code points passed from the input method, identifying emoji code points and adding them to the code point queue, finding matching target code points, and displaying the emoji associated with the target code point in the input box, or directly displaying non-emoji code points.

Benefits of technology

It improves the success rate of displaying emoji characters, solves the problem of garbled characters in the input box, and ensures that emojis and text are displayed together in the same message to convey semantics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115686229B_ABST
    Figure CN115686229B_ABST
Patent Text Reader

Abstract

The application provides an expression input method, device and computer program storage medium. The method comprises the following steps: monitoring a character input action in an application program, intercepting a character code point of an input character transmitted into the application program by an input method through the input action; if it is identified that the character code point is an expression code point, adding the character code point into a code point queue; searching a target code point matched with the character code points contained in the code point queue based on the code point queue; obtaining an expression associated with the target code point, and displaying the expression associated with the target code point in an input box of the application program, which can improve the problem of displaying garbled codes in the input box of the application program to a certain extent.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of computer and communication technology, and in particular to an expression input method, device and computer program storage medium. Background Technology

[0002] In existing technology, when an emoji is entered in an application, the input method transmits the character code point corresponding to the emoji to the application and displays the character code point in the application's input box. During the process of the application sending the character code point from the input box to the sending box, the application converts the character code point into an emoji and displays it in the sending box.

[0003] However, when characters are passed to code points in the application, they may be displayed as unrecognized characters in the input box. The character code points and the application may be incompatible, potentially preventing the conversion of the input emoji. Figure 1 The diagram illustrates the display interface of an embodiment of this application, showing how the input method directly transmits character code points to the application. Summary of the Invention

[0004] This application aims to provide an emoji input method, device, and computer program storage medium, which can improve the problem of garbled characters displayed in the input box of an application to a certain extent.

[0005] According to one aspect of the embodiments of this application, an emoji input method is provided, comprising: monitoring character input actions in an application, intercepting character code points transmitted to the application by an input method used to input the character through the input action; if the character code point is identified as an emoji code point, adding the character code point to a code point queue; searching for a target code point that matches the character code points contained in the code point queue based on the code point queue; obtaining the emoji associated with the target code point, and displaying the emoji associated with the target code point in the input box of the application.

[0006] According to one aspect of the embodiments of this application, an emoji input device is provided, comprising: an interception module configured to monitor character input actions in an application and intercept character code points transmitted to the application by an input method used to input the character; an addition module configured to add the character code point to a code point queue if the character code point is identified as an emoji code point; a determination module configured to search for a target code point that matches a character code point contained in the code point queue; and a display module configured to obtain the emoji associated with the target code point and display the emoji associated with the target code point in the input box of the application.

[0007] In one embodiment of this application, based on the foregoing scheme, the display module is further configured to: if the character code point is identified as a non-emoji code point, then the character code point is directly displayed in the input box.

[0008] In one embodiment of this application, based on the foregoing scheme, the display module is configured to: acquire the image associated with the target code point; construct an embedded object corresponding to the image; and display the embedded object in the input box.

[0009] In one embodiment of this application, based on the foregoing scheme, the display module is configured to: store the target image in an image storage area; obtain an interface pointer for accessing the image storage area, and use the interface pointer as the embedded object.

[0010] In one embodiment of this application, based on the foregoing scheme, the determining module is configured to: if the target code point cannot be found, continue to intercept character code points and add them to the code point queue until the target code point is successfully found.

[0011] In one embodiment of this application, based on the foregoing scheme, the determining module is further configured to: after finding a target code point that matches the character code point contained in the code point queue, clear the code point queue.

[0012] In one embodiment of this application, based on the foregoing scheme, the determining module is configured to: before searching for a target code point that matches the character code point contained in the code point queue, search for a preparatory code point containing the character code point in a set emoji dictionary; if a preparatory code point containing the character code point is found, then the character code point is added to the code point queue.

[0013] In one embodiment of this application, based on the foregoing scheme, the display module is further configured to: if no preliminary code point containing the character code point is found in the emoji dictionary, then the character code point is directly displayed in the input box.

[0014] According to one aspect of the embodiments of this application, a computer program storage medium is provided, which stores computer program instructions that, when executed by a computer, cause the computer to perform any of the methods described above.

[0015] According to one aspect of the embodiments of this application, an electronic device is provided, including: a processor; and a memory storing computer-readable instructions, which, when executed by the processor, implement the method as described in any of the preceding claims.

[0016] According to one aspect of the embodiments of this application, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in the various alternative embodiments described above.

[0017] The technical solutions provided by the embodiments of this application may include the following beneficial effects:

[0018] In some embodiments of this application, the technical solutions provided involve monitoring character input actions in an application, intercepting the input method used to input characters and transmitting character code points to the application through the input action; if the character code point is identified as an emoji code point, it is added to the code point queue; a target code point matching the character code point in the code point queue is found; the emoji associated with the target code point is obtained, and the emoji associated with the target code point is displayed in the application's input box. Compared to relying on application compatibility conversion, this increases the probability of successful emoji character display, thereby improving the problem of garbled characters in the application's input box to a certain extent.

[0019] It should be understood that the above general description and the following detailed description are merely exemplary and do not limit this application. Attached Figure Description

[0020] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the specification, serve to explain the principles of this application.

[0021] Figure 1 This illustration schematically shows a display interface diagram of an embodiment of the present application in which the input method directly transmits character code points to the application.

[0022] Figure 2 A schematic diagram of an exemplary system architecture to which the technical solutions of the embodiments of this application can be applied is shown;

[0023] Figure 3 A flowchart illustrating an embodiment of an emoji input method according to this application is shown schematically.

[0024] Figure 4 This illustration schematically shows the display interface of an input method according to an embodiment of the present application, which converts input emoji characters into image format and sends them to the application.

[0025] Figure 5 A flowchart illustrating an embodiment of an emoji input method according to this application is shown schematically.

[0026] Figure 6 The diagram schematically illustrates a display interface for inputting emoticons using the emoticon input method of this application;

[0027] Figure 7 A block diagram of an emoji input device according to one embodiment of this application is shown schematically;

[0028] Figure 8 This is a hardware diagram of an electronic device according to an exemplary embodiment. Detailed Implementation

[0029] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided to make this application more comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art.

[0030] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this application.

[0031] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0032] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0033] Figure 2 A schematic diagram of an exemplary system architecture 200 to which the technical solutions of the embodiments of this application can be applied is shown.

[0034] like Figure 2As shown, system architecture 200 may include client 201, network 202, and server 203. Network 202 is used as a medium to provide a communication link between client 201 and server 203. Network 202 may include various connection types, such as wired communication links, wireless communication links, etc., which are not limited herein.

[0035] It should be understood that Figure 2 The number of clients 201, networks 202, and servers 203 shown is merely illustrative. Depending on implementation needs, there can be any number of clients 201, networks 202, and servers 203. For example, server 203 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. Client 201 can be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, etc., but is not limited to these.

[0036] In one embodiment of this application, when the task execution time arrives, the server 203 monitors character input actions in the application and intercepts the character code points transmitted to the application by the input method using the input action. If the character code point is identified as an emoji code point, it is added to the code point queue. Based on the code point queue, a target code point matching the character code points contained in the code point queue is searched. The emoji associated with the target code point is obtained and displayed in the input box of the application. Compared with relying on application compatibility conversion, this can increase the probability of successful display of emoji characters, thereby improving the problem of garbled characters displayed in the application's input box to a certain extent.

[0037] It should be noted that the emoji input method provided in this application embodiment is generally executed by server 203, and correspondingly, the emoji input device is generally disposed in server 203. However, in other embodiments of this application, client 201 may also have similar functions to server 203, thereby executing the emoji input method provided in this application embodiment.

[0038] The implementation details of the technical solutions in the embodiments of this application are described in detail below:

[0039] Figure 3 The flowchart illustrating an embodiment of an emoji input method according to this application is shown in the schematic diagram. The execution entity of the emoji input method may be a server, for example, a... Figure 2 Server 203 is shown in the image.

[0040] Reference Figure 3 As shown, this emoji input method includes at least steps S310 to S340, which are described in detail below:

[0041] In step S310, character input actions in the application are monitored, and the character code points of the input method used to input characters are intercepted and transmitted to the application through the input action.

[0042] In one embodiment of this application, the display page of the application can be monitored to monitor character input actions in the application. For example, when an input method display box appears on the display page, the selection action in the input method display box can be monitored as a character input action in the application. The selection action can be achieved by clicking, touching, pressing, sliding, or performing other actions on the screen or buttons of the terminal where the application is located.

[0043] In one embodiment of this application, the action that enables the addition of characters in the input method display box can be used as the selection action in the input method display box.

[0044] In one embodiment of this application, character input actions in the application can be monitored when an input box on the application's display page is clicked, in order to save computing resources spent on monitoring.

[0045] In one embodiment of this application, when a character is passed from the input method display box to the application, the character that the input method is preparing to pass to the application is first converted into a character code point, and the character code point is intercepted before it enters the application.

[0046] In one embodiment of this application, character code points can be intercepted before they enter the input box of the application to avoid displaying garbled characters.

[0047] In one embodiment of this application, characters may include text characters, emoji characters, control characters, etc.

[0048] In one embodiment of this application, a set character-to-character code point lookup table can be consulted based on the input character to convert the character into a character code point (Unicode).

[0049] In step S320, if the character code point is identified as an emoji code point, then the character code point is added to the code point queue.

[0050] In one embodiment of this application, the classification markers corresponding to each character in the input method can be obtained, and the classification markers of each character can be added to the character code points corresponding to the characters. By recognizing the classification markers of the character code points, it can be determined whether the character code point is an emoji code point.

[0051] In one embodiment of this application, the code point queue is a queue for storing code points. The added character code points can be arranged at the end of the queue, or the character code points in the code point queue can be arranged according to a set rule. Before the first recognition of an emoji code point, the code point queue can be empty.

[0052] In one embodiment of this application, if a character code point is identified as a non-emoji code point, the character code point is directly displayed in the input box. During the process of the character code point moving from the input box to the sending box, the application converts the character code point to convert character code points for which the target code point cannot be found, thereby increasing the probability that the character code point is successfully converted into a character.

[0053] In one embodiment of this application, before searching for a target code point that matches a character code point in the code point queue, a preliminary code point containing a character code point can be searched in a set emoji dictionary; if a preliminary code point containing a character code point is found, the character code point is added to the code point queue, so that character code points added to the code point queue later may form a combined code point with the character code point, and the target code point corresponding to the combined code point may be found.

[0054] In one embodiment of this application, all emoji code points supported by the application can be aggregated to construct a mapping relationship between emoji code points and desired display styles in order to set an emoji dictionary, wherein the desired display style can be a custom style.

[0055] In step S330, a target code point that matches a character code point in the code point queue is searched based on the code point queue.

[0056] In one embodiment of this application, a code point that is completely identical to a character code point can be found as a target code point that matches the character code point.

[0057] In one embodiment of this application, if the target code point cannot be found, character code points can continue to be intercepted and added to the code point queue until the target code point is successfully found.

[0058] In one embodiment of this application, before searching for a target code point that matches a character code point in the code point queue, a preliminary code point containing a character code point can be searched in a set emoji dictionary. If a preliminary code point containing a character code point is found, the character code point is added to the code point queue. If a target code point that matches a character code point in the code point queue is not found, the character code point can continue to be intercepted and added to the code point queue until the target code point is successfully found.

[0059] In one embodiment of this application, whether to continue adding intercepted character code points to the code point queue can be determined based on the reserve code points corresponding to the existing character code points in the queue. Specifically, if the target code point cannot be found among the existing character code points, and the subsequently intercepted character code points are also included in the reserve code points corresponding to the existing character code points, then the subsequently intercepted character code points are added to the code point queue. This allows multiple input character code points to be combined to obtain a combined code point, and the target code point corresponding to the combined code point can be found. The position of the continued-intercepted character code point in the code point queue can be determined based on its position in the reserve code points.

[0060] In one embodiment of this application, there can be multiple code point queues. When a target code point cannot be found based on the existing code points in the existing code point queues, and the subsequently intercepted code point is not included in the reserve code point corresponding to the existing code point in the existing code point queues, if the subsequently intercepted code point is included in a reserve code point other than the reserve code point corresponding to the existing code point in the existing code point queues, the subsequently intercepted code point can be stored in the code point queue corresponding to the reserve code point other than the reserve code point corresponding to the existing code point in the existing code point queues. If there is no code point queue corresponding to the reserve code point other than the reserve code point corresponding to the existing code point in the existing code point queues, the subsequently intercepted code point can be stored in a code point queue with an empty value. The intercepted code points are then added to the code point queue storing the subsequently intercepted code points until the target code point corresponding to the code point queue storing the subsequently intercepted code points is successfully found.

[0061] In one embodiment of this application, if no preliminary code point containing the character code point is found in the emoji dictionary, the character code point is directly displayed in the input box. During the process of the character code point moving from the input box to the sending box, the application converts the character code point to achieve direct conversion of the character code point, thereby increasing the probability of the character code point being successfully converted into a character.

[0062] In one embodiment of this application, after a target code point that matches a character code point in the code point queue is found, the code point queue is cleared so that subsequently intercepted character code points can be added to the code point queue.

[0063] Continue to refer to Figure 3 In step S340, the emoji associated with the target code point is obtained, and the emoji associated with the target code point is displayed in the input box of the application.

[0064] In one embodiment of this application, the association between code points and facial expressions can be preset.

[0065] In one embodiment of this application, an image associated with the target code point can be obtained; an embedded object corresponding to the image can be constructed; and the embedded object can be displayed in the input box. Compared with the input method directly converting the input emoji characters into images and sending them to the application, this method can make the emojis displayed in the input box consistent with the text characters in the input box in terms of height, style, etc., avoiding the problem that text and images cannot be displayed in the same message in the sending box. This ensures that there is no height difference between the emojis and text in the sending box, and they can be mixed and displayed in the same message in the sending box. Furthermore, the semantics of the emoji characters can be transmitted to the application, and the application can use the semantics for other processing. Figure 4 The illustration shows a display interface diagram of an input method according to an embodiment of this application, in which the input emoji characters are converted into image format and sent to the application.

[0066] In one embodiment of this application, the embedded object can be an ObjectLinking and Embedding (OLE) object for the input emoji.

[0067] In one embodiment of this application, the target image can be stored in an image storage area; an interface pointer for accessing the image storage area can be obtained, and the interface pointer can be used as an embedded object.

[0068] In one embodiment of this application, the image storage area can be established based on the target image or it can be an existing one. The image storage area can be located in the blockchain, in the cloud or locally. When the image storage area is located locally, it can be located in the terminal or server.

[0069] exist Figure 3 In this embodiment, by monitoring character input actions in the application, the input method used to input the characters is intercepted and the character code points transmitted to the application through the input action are intercepted. If the character code point is identified as an emoji code point, the character code point is added to the code point queue. Based on the code point queue, a target code point that matches the character code points contained in the code point queue is found. The emoji associated with the target code point is obtained and displayed in the input box of the application. Compared with relying on application compatibility conversion, this can increase the probability of successful display of emoji characters, thereby improving the problem of garbled characters displayed in the application's input box to a certain extent. At the same time, it can also convey the semantics of the input characters to the application.

[0070] Figure 5 The flowchart illustrating an embodiment of an emoji input method according to this application is shown in the schematic diagram. The execution entity of the emoji input method may be a server, for example, a... Figure 2 Server 203 is shown in the image.

[0071] Reference Figure 5As shown, this emoji input method includes at least steps S510 to S5100, which are described in detail below:

[0072] In step S510, input characters.

[0073] In step S520, the input code points are intercepted before the input box is displayed.

[0074] In one embodiment of this application, the code point intercepted from the input is the character code point corresponding to the input character.

[0075] In step S530, it is checked whether it is an emoji code point.

[0076] In one embodiment of this application, the intercepted input code point can be queried from an emoji dictionary to determine whether it is an emoji code point. Specifically, if the intercepted input code point is part of an emoji code point, then the intercepted input code point is determined to be an emoji code point.

[0077] In this embodiment, the inventors discovered that the character encoding (Unicode) code point range used by the emojis in various input methods and applications all conform to the Unicode standard, so any code point falling within the emoji dictionary must belong to a certain emoji.

[0078] In step S530, if it is not an emoji code point, then proceed to step S540 and directly output the current code point in the queue to the input box.

[0079] In step S550, the code point queue is cleared.

[0080] In step S560, the process ends.

[0081] In step S530, if it is an emoji code point, then proceed to step S570 and add it to the emoji code point queue.

[0082] In step S580, it is checked whether the code point queue can completely match a certain expression.

[0083] If a certain expression cannot be completely matched in step S580, then proceed to step S560 and end.

[0084] In one embodiment of this application, the intercepted input code points can be added to an emoji code point queue, awaiting subsequent code points from the input stream. Subsequent code points need to undergo the same check and are considered emojis for inclusion. When the code point queue can completely match an emoji from the emoji dictionary, the process jumps to step S590 to obtain the emoji image.

[0085] In step S580, if a certain expression can be completely matched, then in step S590, the expression image is obtained.

[0086] In step S5100, the input box contains an Object Linking and Embedding (OLE) object for an emoji, and then the user jumps back to step S550 to clear the code point queue.

[0087] In one embodiment of this application, when the code point queue can completely match a certain expression in the expression dictionary, the expression image is obtained through the expression dictionary, an OLE object for displaying the image is constructed and output to the input box.

[0088] Figure 5 In the embodiment shown, the optimized input box and the input and output of emoticons are two completely inverse processes. When the application needs to obtain the input characters, it can obtain the code point combination consisting of multiple code points stored in the code point queue by reading the data structure of the OLE object.

[0089] In this embodiment, the problems of transmitting facial expression semantics and displaying facial expressions are solved, ensuring that facial expressions can be mixed with ordinary characters and general text in any application on any operating system. Figure 6 The diagram illustrates a display interface for inputting emoticons using the emoticon input method of this application.

[0090] The following describes an embodiment of the apparatus described in this application, which can be used to execute the facial expression input method described in the above embodiments of this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the facial expression input method described above.

[0091] Figure 7 A block diagram of an emoji input device according to an embodiment of this application is shown schematically.

[0092] Reference Figure 7 As shown, an expression input device 700 according to an embodiment of this application includes an interception module 701, an addition module 702, a determination module 703, and a display module 704.

[0093] According to one aspect of the embodiments of this application, based on the foregoing scheme, the interception module 701 is configured to monitor character input actions in the application and intercept the character code points transmitted to the application by the input method used to input the characters; the addition module 702 is configured to add the character code point to the code point queue if the character code point is identified as an emoticon code point; the determination module 703 is configured to search for a target code point that matches the character code points contained in the code point queue based on the code point queue; and the display module 704 is configured to obtain the emoticon associated with the target code point and display the emoticon associated with the target code point in the input box of the application.

[0094] In one embodiment of this application, based on the aforementioned scheme, the display module 704 is further configured to: if the character code point is identified as a non-emoji code point, then the character code point is directly displayed in the input box.

[0095] In one embodiment of this application, based on the aforementioned scheme, the display module 704 is configured to: acquire an image associated with the target code point; construct an embedded object corresponding to the image; and display the embedded object in the input box.

[0096] In one embodiment of this application, based on the aforementioned scheme, the display module 704 is configured to: store the target image in the image storage area; obtain an interface pointer for accessing the image storage area, and use the interface pointer as an embedded object.

[0097] In one embodiment of this application, based on the aforementioned scheme, the determining module 703 is configured to: if the target code point cannot be found, continue to intercept character code points and add them to the code point queue until the target code point is successfully found.

[0098] In one embodiment of this application, based on the foregoing scheme, the determining module 703 is further configured to: clear the code point queue after finding a target code point that matches the character code point contained in the code point queue.

[0099] In one embodiment of this application, based on the aforementioned scheme, the determining module 703 is configured to: before searching for a target code point that matches a character code point contained in the code point queue based on the code point queue, search for a preparatory code point containing a character code point in a set emoji dictionary; if a preparatory code point containing a character code point is found, then the character code point is added to the code point queue.

[0100] In one embodiment of this application, based on the foregoing scheme, the display module 704 is further configured to: if no preparatory code point containing the character code point is found in the emoji dictionary, then the character code point is directly displayed in the input box.

[0101] Those skilled in the art will understand that various aspects of this application can be implemented as a system, method, or program product. Therefore, various aspects of this application can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, collectively referred to herein as a "circuit," "module," or "system."

[0102] The following reference Figure 8 To describe an electronic device 80 according to this embodiment of the present application. Figure 8 The electronic device 80 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0103] like Figure 8As shown, the electronic device 80 is presented in the form of a general-purpose computing device. The components of the electronic device 80 may include, but are not limited to: at least one processing unit 81, at least one storage unit 82, a bus 83 connecting different system components (including storage unit 82 and processing unit 81), and a display unit 84.

[0104] The storage unit stores program code, which can be executed by the processing unit 81, causing the processing unit 81 to perform the steps described in the "Embodiment Method" section above according to various exemplary embodiments of this application.

[0105] Storage unit 82 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 821 and / or a cache memory unit 822, and may further include a read-only memory unit (ROM) 823.

[0106] Storage unit 82 may also include a program / utility 824 having a set (at least one) of program modules 825, including but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.

[0107] Bus 83 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.

[0108] Electronic device 80 can also communicate with one or more external devices (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 80, and / or with any device that enables electronic device 80 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 85. Furthermore, electronic device 80 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 86. As shown, network adapter 86 communicates with other modules of electronic device 80 via bus 83. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 80, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0109] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the method according to the embodiments of this application.

[0110] According to one embodiment of this application, a computer-readable storage medium is also provided, on which a program product capable of implementing the methods described above is stored. In some possible implementations, various aspects of this application may also be implemented as a program product including program code, which, when the program product is run on a terminal device, causes the terminal device to perform the steps of the various exemplary embodiments of this application described in the "Exemplary Methods" section above.

[0111] According to one embodiment of this application, the program product for implementing the above method can be a portable compact disc read-only memory (CD-ROM) and include program code, and can run on a terminal device, such as a personal computer. However, the program product of this application is not limited thereto. In this document, the readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0112] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0113] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.

[0114] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0115] Program code for performing the operations of this application can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0116] Furthermore, the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of this application, and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Additionally, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.

[0117] It should be understood that this application is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A method for inputting emoticons, characterized in that, include: Monitor character input actions in the application and intercept the character code points transmitted to the application through the input action by the input method used to input the character; If the character code point is identified as an emoji code point, then search for a preparatory code point containing the character code point in the set emoji dictionary; If a preparatory code point containing the character code point is found, then the character code point is added to the code point queue; Based on the code point queue, find the target code point that matches the character code points contained in the code point queue; If the target code point cannot be found, the character code point will continue to be intercepted. When the character code point to be intercepted is also included in the reserve code point corresponding to the character code point already existing in the code point queue, the character code point to be intercepted will be added to the code point queue until the target code point is successfully found. Obtain the emoji associated with the target code point and display the emoji associated with the target code point in the input box of the application.

2. The emoji input method according to claim 1, characterized in that, The emoji input method also includes: If the character code point is identified as a non-emoji code point, then the character code point will be directly displayed in the input box.

3. The emoji input method according to claim 1, characterized in that, The step of obtaining the emoji associated with the target code point includes: Obtain the image associated with the target code point; Construct the embedded object corresponding to the image; Display the embedded object in the input box.

4. The emoji input method according to claim 3, characterized in that, Constructing the embedded object corresponding to the image includes: The image is stored in the image storage area; Obtain the interface pointer used to access the image storage area, and use the interface pointer as the embedded object.

5. The emoji input method according to claim 1, characterized in that, The method further includes: After finding a target code point that matches a character code point in the code point queue, the code point queue is cleared.

6. The emoji input method according to claim 1, characterized in that, The emoji input method also includes: If no preliminary code point containing the specified character code point is found in the emoji dictionary, the specified character code point will be directly displayed in the input box.

7. An expression input device, characterized in that, include: The interception module is configured to monitor character input actions in the application and intercept the character code points transmitted to the application by the input method used to input the character. Add a module configured to, if the character code point is identified as an emoji code point, search for a preparatory code point containing the character code point in the set emoji dictionary; If a preparatory code point containing the character code point is found, then the character code point is added to the code point queue; The determination module is configured to search for a target code point that matches a character code point contained in the code point queue based on the code point queue; if the target code point is not found, the module continues to intercept character code points, and when the character code point to be intercepted is also included in the reserve code point corresponding to the character code point already existing in the code point queue, the character code point to be intercepted is added to the code point queue, until the target code point is successfully found. The display module is configured to acquire the emoji associated with the target code point and display the emoji associated with the target code point in the input box of the application.

8. A computer program storage medium having stored computer-readable instructions thereon, which, when executed by a processor of a computer, cause the computer to perform the method described in any one of claims 1-6.

9. A computer program product, characterized in that, Includes computer instructions, which are stored in a computer-readable storage medium; The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the method of any one of claims 1-6.

10. An electronic device, characterized in that, include: processor; A memory storing computer-readable instructions that, when executed by the processor, implement the method of any one of claims 1-6.