anchor.diff:          ?assertEqual(<<"-3.14">>, io_to_db(Item,OldString,binstr,5,Prec,Def,RW,<<"-3.14">>)),
           ?Info("io_to_db success 4b~n", []),
   
  -        ?assertEqual(<<"OldäString">>, io_to_db(Item,<<"OldäString">>,binstr,11,Prec,Def,RW,<<"OldäString">>)),
  -        ?assertException(throw,{ClEr,{"String is too long",{0,{<<"OldäString">>,3}}}},  io_to_db(Item,<<"OldäString">>,binstr,Len,Prec,Def,RW,<<"OldäString">>)),
  -        ?assertException(throw,{ClEr,{"String is too long",{0,{<<"NewVal">>,3}}}}, io_to_db(Item,<<"OldäString">>,binstr,Len,Prec,Def,RW,<<"NewVal">>)),
  +        ?assertEqual(<<"OldäString"/utf8>>, io_to_db(Item,<<"OldäString"/utf8>>,binstr,11,Prec,Def,RW,<<"OldäString"/utf8>>)),
  +        ?assertException(throw,{ClEr,{"String is too long",{0,{<<"OldäString"/utf8>>,3}}}},  io_to_db(Item,<<"OldäString"/utf8>>,binstr,Len,Prec,Def,RW,<<"OldäString"/utf8>>)),
  +        ?assertException(throw,{ClEr,{"String is too long",{0,{<<"NewVal">>,3}}}}, io_to_db(Item,<<"OldäString"/utf8>>,binstr,Len,Prec,Def,RW,<<"NewVal">>)),
           ?assertEqual(<<"NewVal">>, io_to_db(Item,OldString,binstr,6,Prec,Def,RW,<<"NewVal">>)),
           ?assertEqual(<<"[NewVal]">>, io_to_db(Item,OldString,binstr,8,Prec,Def,RW,<<"[NewVal]">>)),
           ?assertEqual(default, io_to_db(Item,OldString,binstr,Len,Prec,Def,RW,<<"default">>)),
  
positive.code: -module(imem_datatype).
  -compile(inline).
  -compile({inline_size,1000}).
  
negative.code:         %% ?assertEqual(<<"<<\"ddäöü\">>/utf8">>, item(2,{'Imem',<<"ddäöü"/utf8>>})),
          ?Info("item success~n", []),
  
          ?assertEqual(<<"\"abcde\"">>, string_to_io("abcde")),
          ?assertEqual(<<"\"123\"abc\"">>, string_to_io("123\"abc")),
  
          ?assertEqual("abcde", io_to_string(<<"\"abcde\"">>)),
          ?assertEqual("123\"abc", io_to_string(<<"\"123\"abc\"">>)),
  
          ?Info("Str0 äöü -> ~p~n",[[0|"äöü"]]),
  
          Str1 = "äöü",                       ?Info("Str1 äöü -> ~p~n",[[<<?H(I)>> || I <- Str1]]),
          Utf8 = unicode:characters_to_binary("äöü",unicode,utf8), ?Info("Utf8 äöü -> ~p~n",[binary_to_hex(Utf8)]),        
          Exp1 = <<"\"äöü\""/utf8>>,          ?Info("Exp1 äöü -> ~p~n",[binary_to_hex(Exp1)]), 
          Ios1 = string_to_io(Str1),          ?Info("Ios1 äöü -> ~p~n",[binary_to_hex(Ios1)]),
          ?assertEqual(Exp1, Ios1),
  
          ?assertEqual("abcde", io_to_string(string_to_io("abcde"))),
          ?assertEqual("123\"abc", io_to_string(string_to_io("123\"abc"))),
          ?assertEqual(Str1, io_to_string(string_to_io(Str1))),
  
          ?assertEqual(<<"\"abcde\"">>, string_to_io(io_to_string(<<"\"abcde\"">>))),
          ?assertEqual(<<"\"123\"abc\"">>, string_to_io(io_to_string(<<"\"123\"abc\"">>))),
          ?assertEqual(Exp1, string_to_io(io_to_string(Exp1))),
  
          ?assertEqual(<<"123">>, decimal_to_io(123,0)),
          ?assertEqual(<<"-123">>, decimal_to_io(-123,0)),
          ?assertEqual(<<"12.3">>, decimal_to_io(123,1)),
  