Difference between revisions of "User:Free Portal/Sandbox/LSL Library/SKUTF8ToUnicode"
Free Portal (talk | contribs) |
Free Portal (talk | contribs) |
||
Line 2: | Line 2: | ||
== SKUTF8ToUnicode == | == SKUTF8ToUnicode == | ||
<lsl> | <lsl>// ---------------------------------------------------------------------------- | ||
// ---------------------------------------------------------------------------- | |||
// SKUTF8ToUnicode | // SKUTF8ToUnicode | ||
// @author Free Portal (thedig@hyouk.net) | // @author Free Portal (thedig@hyouk.net) |
Revision as of 09:35, 25 December 2009
Sera korea Viewer Hangul item name decode script.
SKUTF8ToUnicode
<lsl>// ---------------------------------------------------------------------------- // SKUTF8ToUnicode // @author Free Portal (thedig@hyouk.net) // ---------------------------------------------------------------------------- // Dec 20, 2009 v1.0 - SKUTF8ToUnicode, orig code // ----------------------------------------------------------------------------
// ---------------------------------------------------------------------------- // Global Variables: // ---------------------------------------------------------------------------- integer handle;
// ---------------------------------------------------------------------------- // User Defined Functions // ----------------------------------------------------------------------------
// ---------------------------------------------------------------------------- // searchReplace // ---------------------------------------------------------------------------- // @param: // string input // string old // string new // // @return: // string // // @comment: // search and replace word // ---------------------------------------------------------------------------- string searchReplace(string input, string old, string new) {
return llDumpList2String(llParseString2List(input, [old], []), new);
}
// ---------------------------------------------------------------------------- // insertString // ---------------------------------------------------------------------------- // @param: // string source // integer shift // string word // // @return: // string // // @comment: // insert word // ---------------------------------------------------------------------------- string insertString(string source, integer shift, string word) {
string tmp = source; integer index;
for (index = 0; index < llStringLength(source) + (llStringLength(source) / shift); index+=shift+1) tmp = llInsertString(tmp, index, word); return source = tmp;
}
// ---------------------------------------------------------------------------- // SKUTF8ToUnicode // ---------------------------------------------------------------------------- // @param: // string input // // @return: // string // // @comment: // utf-8 hex to unicode // ---------------------------------------------------------------------------- string SKUTF8ToUnicode(string input) {
return llUnescapeURL( insertString(searchReplace(input, "_SKUTF8_", ""), 2, "%") );
}
// ---------------------------------------------------------------------------- // Main Script // ---------------------------------------------------------------------------- default {
state_entry() { handle = llListen(0x00, "", NULL_KEY, ""); llListenControl(handle, FALSE); }
touch_start(integer total_number) { llListenControl(handle, TRUE); llSay (0x00, "Input Sera Korea Viewer item name."); } listen(integer channel, string name, key id, string message) { if (!llSubStringIndex(message, "_SKUTF8_")) { llSay (0x00, "Item Name " + SKUTF8ToUnicode(message)); llListenControl(handle, FALSE); } }
} </lsl>